לפניכם הפעולות הבאות:
public static void what1(BinNode<Integer> bt)
{
if(bt!=null){
int x=bt.getValue();
if(what2(bt.getLeft(),x) && what2(bt.getRight(),x))
System.out.println(x);
what1(bt.getLeft());
what1(bt.getRight());
}
}
public static boolean what2(BinNode<Integer> bt, int x)
{
if(bt==null)return true;
if(bt.getValue()==x)return false;
return what2(bt.getLeft(), x) && what2(bt.getRight(), x);
}
נתון העץ הבינרי bt הבא: שורש=3; בן-שמאל של השורש=3 (עם בן-שמאל=1, בן-ימין=3 שיש לו בן-ימין=2); בן-ימין של השורש=10 (עם בן-שמאל=9 שיש לו בן-שמאל=7, ובן-ימין=7 שיש לו בן-ימין=10).
3
/ \
3 10
/ \ / \
1 3 9 7
\ / \
2 7 10
סעיף א
מה תהיה תוצאת זימון הפעולה what2(bt, 10)? חובה להראות את המעקב!
סעיף ב
תנו דוגמה של הפרמטר x, שעבורו זימון הפעולה what2(bt, x) יחזיר תוצאה שונה מזו שהתקבלה בסעיף א'.
סעיף ג
מה מבצעת הפעולה what2(BinNode<Integer> bt, int x) באופן כללי?
סעיף ד
מה תהיה תוצאת הזימון what1(bt) לעץ הנתון bt? חובה להראות את המעקב! הערה: אין צורך במעקב אחרי הפעולה what2.
סעיף ה
מה מבצעת הפעולה what1(bt) באופן כללי? bt
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.