java
public static String what(BinNode<Integer> 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<Integer> 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)? אם כן — ציירו את העץ, אם לא — הסבירו מדוע.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.