נתונות הפעולות הבאות:
נתונות הפעולות הבאות:
public static int What(BinNode<char> bt) {
if (bt == null) return 0;
return 1 + Math.Max(What(bt.GetLeft()),
What(bt.GetRight()));
}
public static void PrintTree(BinNode<char> bt) {
if (bt == null) return;
PrintTree(bt.GetLeft());
int leftH = what(bt.GetLeft());
int rightH = what(bt.GetRight());
int count = leftH + rightH + 1;
for (int i = 0; i < count; i++) {
Console.Write(bt.GetValue());
}
PrintTree (bt.GetRight());
}
נתון עץ בינרי bt (⚠️ שוחזר מתרשים גרפי ב-PDF, מאומת מול התמונה):
- שורש: A
- A.שמאל = B, A.ימין = C
- B.שמאל = D, B.ימין = E
- C.שמאל = null, C.ימין = F
- F.שמאל = G, F.ימין = null (כלומר D, E, G הם עלים)
סעיף א
מה תהיה תוצאת הזימון What(bt)?
סעיף ב
עבור הצומת B, כמה פעמים תודפס האות 'B'?
סעיף ג
מה תהיה תוצאת הזימון PrintTree(bt)? יש להראות מעקב אחרי זימון הפעולה.
סעיף ד
ציירו עץ בינרי שעבורו פלט של הפעולה PrintTree יהיה EDDCCCBBBBAAAAA.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.