אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2023 · קיץ מועד ב · שאלה 7כל שאלות המבחן ←
עציםעצים בינאריים

עץ בינארי של מספרים שלמים נקרא "עץ מיוחד" אם לכל צומת, כל הערכים בתת-העץ השמאלי שלו שונים מכל הערכים בתת-העץ הימני שלו. שני סעיפי חשיבה (קיום דוגמאות), סעיף כתיבת קוד, וסעיף סיבוכיות.

עץ "מיוחד" לדוגמה.

70(10(1,7), 51(_,212(22,17)))

עץ שאינו "מיוחד" — הערך 7 מופיע גם בתת-העץ השמאלי של 70 (כילד של 10) וגם בתת-העץ הימני שלו (כילד של 212).

70(10(1,7), 51(_,212(22,7)))
סעיף א

האם קיים "עץ מיוחד" שיש בו ערכים זהים? אם כן — ציירו את העץ, ואם לא — תסבירו מדוע עץ כזה לא קיים.

סעיף ב

האם קיים עץ חיפוש בינרי שהוא לא "עץ מיוחד"? אם כן — ציירו את העץ, ואם לא — הסבירו מדוע עץ כזה לא קיים.

סעיף ג

כתבו פעולה המקבלת הפניה לשורש של עץ בינרי ובודקת אם הוא "עץ מיוחד". אם כן — הפעולה תחזיר ערך true, ולא — הפעולה תחזיר ערך false.

public static bool IsSpecial(BinNode<int> root)

סעיף ד

מהי סיבוכיות הפעולה שכתבתם בסעיף ג'? הסבירו את תשובתכם.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי