שאלת מבחן במבוא למדעי המחשב - האוניברסיטה הפתוחה 2012 - עצים בינאריים
המחלקה Node שלהלן ממשת צומת בעץ בינרי:
המחלקה BinaryTree מאגדת בתוכה שיטות סטטיות לטיפול בעץ בינרי. התבוננו בשיטה הבאה:
בהינתן העץ הבינרי הבא:
(1) מה יודפס כתוצאה מהפקודה:
המחלקה 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
- root=8: יש שני בנים. בודקים: 8==rightSon(8)? כן. f(rightSon)?
- צומת 8 (ימני): יש שני בנים (5, 20). 8==20? לא. 8==5? לא. שתי האפשרויות נכשלות => false
- חוזרים ל-root: האפשרות הימנית נכשלה. בודקים שמאל: 8==leftSon(4)? לא.
- שתי האפשרויות נכשלות => return false || false => false
יודפס: false