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

csharp

public static string What(BinNode<int> t) { string output = "("; if (t.GetLeft() != null) output += What(t.GetLeft()); output += t.GetValue(); if (t.GetRight() != null) output += What(t.GetRight()); output += ")"; return output; } public static string Why(BinNode<int> t) { string output = "("; output += t.GetValue(); if (t.GetLeft() != null) output += Why(t.GetLeft()); if (t.GetRight() != null) output += Why(t.GetRight()); output += ")"; return output; }


העץ הבינרי bt שבסעיף א' (שורש 4, בן שמאל 1 עם בן ימין 9, בן ימין 20 עם בנים 2,7):

    4
  /   \
 1     20
  \    /  \
   9  2    7
סעיף א

נתון העץ הבינרי bt הבא (ראו איור). מה תהיה תוצאת זימון הפעולה What(bt)? חובה להראות את המעקב!

סעיף ב

לפעולה What הועברה כפרמטר הפניה לשורש של עץ בינרי. המחרוזת שהוחזרה מהשיטה היא: (((30) 20 ((50) 5)) 40 (10)). ציירו את העץ הבינרי שהועבר כפרמטר לפעולה.

סעיף ג

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

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

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

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

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