prepd.

שאלת מבחן במבוא למדעי המחשב - האוניברסיטה הפתוחה 2012 - עצים בינאריים

המחלקה Node שלהלן ממשת צומת בעץ בינרי:


המחלקה BinaryTree מאגדת בתוכה שיטות סטטיות לטיפול בעץ בינרי. התבוננו בשיטה הבאה:


בהינתן העץ הבינרי הבא:
        8
       / \
      4    8
     / \  / \
    4  8 5  20
   /\  |  /\
  4  6 8 14 18
  |
  5


(1) מה יודפס כתוצאה מהפקודה:
System.out.println(BinaryTree.f(root));
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד א32012סמסטר ב
עצים בינארייםרקורסיהמעקב אחר קוד
עקבו אחרי השיטה f מהשורש. בכל צומת היא בודקת אם הערך שווה לערך הבן הימני או השמאלי, ואם כן ממשיכה רקורסיבית באותו כיוון.
נעקוב אחרי f(root) כאשר root=8:

- root=8: יש שני בנים. בודקים: 8==rightSon(8)? כן. f(rightSon)?
- צומת 8 (ימני): יש שני בנים (5, 20). 8==20? לא. 8==5? לא. שתי האפשרויות נכשלות => false

- חוזרים ל-root: האפשרות הימנית נכשלה. בודקים שמאל: 8==leftSon(4)? לא.

- שתי האפשרויות נכשלות => return false || false => false


יודפס: false