נתונות הפעולות הבאות:
public static int what(BinNode<Character> bt) {
if (bt == null) return 0;
return 1 + Math.max(what(bt.getLeft()),
what(bt.getRight()));
}
public static void printTree(BinNode<Character> 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++) {
System.out.print(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.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות