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

public static void mystery(BinNode<Integer> bt)
{
    mystery(bt, "");
}
private static void mystery(BinNode<Integer> bt, String st)
{
    st = st + " " + bt.getValue();
    if (bt.getLeft()==null && bt.getRight()==null)
    {
        System.out.println(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 באופן כללי?

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

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

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

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

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

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

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