לפניכם שתי פעולות:
public static void What1(BinNode<int> bt)
{
if(bt!=null){
int x=bt.GetValue();
if(What2(bt.GetLeft(),x) && What2(bt.GetRight(),x))
Console.WriteLine(x);
What1(bt.GetLeft());
What1(bt.GetRight());
}
}
public static bool What2(BinNode<int> 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<int> bt, int x) באופן כללי?
סעיף ד
מה תהיה תוצאת הזימון what1(bt) לעץ הנתון bt? חובה להראות את המעקב! הערה: אין צורך במעקב אחרי הפעולה what2.
סעיף ה
מה מבצעת הפעולה what1(bt) באופן כללי? bt
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.