נתונה הפעולה Mystery. הפעולה מקבלת הפניה לשורש עץ בינרי של מספרים שלמים חיוביים bt.

public static void Mystery(BinNode<int> bt)
{
    Mystery(bt, "");
}
private static void Mystery(BinNode<int> bt, string st)
{
    st = st + " " + bt.GetValue();
    if (bt.GetLeft()==null && bt.GetRight()==null)
    {
        Console.WriteLine(st);
    }
    else
    {
        if (bt.GetLeft() != null)
            Mystery (bt.GetLeft(), st);
        if (bt.GetRight() != null)
            Mystery (bt.GetRight(), st);
    }
}

נתון העץ הבינרי bt1 הבא:

              18
         /          \
        6            20
       /            /   \
      1            17    13
       \           /
        3         1

(שורש=18; שמאל: 6→שמאל=1→ימין=3; ימין: 20→{שמאל=17→שמאל=1, ימין=13})

(א)מה תהיה תוצאת זימון הפעולה `Mystery(bt1)`?
יש להראות מעקב אחרי ביצוע הפעולה Mystery.
(ב)לפעולה Mystery הועבר כפרמטר הפניה לשורש של עץ בינרי bt2.
הפלט שהתקבל לאחר זימון הפעולה `Mystery(bt2)` היה בדיוק בסדר זה (משמאל לימין):

```
70 20 50 40 30
70 20 50 60
70 100 120
```

ציירו את העץ הבינרי bt2 שהועבר כפרמטר לפעולה.
(ג)לפעולה Mystery הועבר כפרמטר הפניה לשורש של עץ חיפוש בינרי bt3.
האם ייתכן שהפלט שהתקבל אחרי זימון הפעולה `Mystery(bt3)` יהיה זהה לפלט שהתקבל אחרי הזימון `Mystery(bt2)`? אם כן – ציירו עץ חיפוש בינרי bt3. אם הדבר בלתי אפשרי – הסבירו מדוע.
(ד)מה מבצעת הפעולה Mystery באופן כללי?

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←