תרגול מדעי המחשב

הערך הקטן בעץ

בינוני Java

המשימה

כתוב פעולה **רקורסיבית** שמקבלת שורש של עץ בינארי של מספרים שלמים
ומחזירה את הערך הקטן ביותר שבו.

העץ **אינו** עץ חיפוש. אפשר להניח שהעץ אינו ריק.

הנחיות:
• מקרה הבסיס: עלה — צומת בלי בנים כלל. הערך שלו הוא המינימום שלו.
• צעד הרקורסיה: המינימום הוא הקטן מבין שלושה — הערך שבצומת,
  המינימום בשמאל, והמינימום בימין. אבל צד שאינו קיים אינו משתתף
  בהשוואה, ולכן צריך לבדוק אותו לפני.
• דרך נקייה לעקוף את זה: להתחיל מ-min = הערך שבצומת, ולעדכן אותו
  רק אם יש בן שמאלי, ואז רק אם יש בן ימני.

ממשק מבני הנתונים כבר מצורף למשימה.

```ds:tree
{"title":"העץ — המינימום 1","nodes":["4","2","7","1","3",null,"9"]}
```

קוד הפתיחה

public class Main {

    public static int minTree(BinNode<Integer> root) {
        // כתוב את הפתרון כאן — רקורסיבי. אפשר להניח שהעץ אינו ריק.
        return 0;
    }

    public static void main(String[] args) {
        //        4
        //       / \
        //      2   7
        //     / \    \
        //    1   3    9
        BinNode<Integer> one   = new BinNode<Integer>(1);
        BinNode<Integer> three = new BinNode<Integer>(3);
        BinNode<Integer> nine  = new BinNode<Integer>(9);
        BinNode<Integer> two   = new BinNode<Integer>(one, 2, three);
        BinNode<Integer> seven = new BinNode<Integer>(null, 7, nine);
        BinNode<Integer> root  = new BinNode<Integer>(two, 4, seven);

        System.out.println(minTree(root));                          // 1
        System.out.println(minTree(new BinNode<Integer>(42)));      // 42
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא סכום ערכי העץ
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.