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

מעקב אחרי ירידה בעץ

קל Java

המשימה

בעץ שלמטה יש שדרה ימנית: מהשורש ימינה, ומשם ימינה שוב, עד שנגמר.

מלאו את הטבלה. כל שורת מעקב היא המצב אחרי סיבוב שלם אחד של הלולאה.
בעמודת p רשמו את הערך שבצומת, או null כשהמצביע יצא מהעץ.

המשימה: כתבו פעולה שמקבלת שורש של עץ בינארי ומחזירה את סכום הצמתים
בשדרה ה*שמאלית* — מהשורש שמאלה עד הסוף. עץ ריק מחזיר 0.

עבור העץ שלמטה: השדרה השמאלית היא 8, 3, 1 והסכום 12.

[עץ בינארי]

[טבלת מעקב]

קוד הפתיחה

public class Main {

    public static int leftSpineSum(BinNode<Integer> root) {
        // כתוב את הפתרון כאן
        return 0;
    }

    public static void main(String[] args) {
        BinNode<Integer> one   = new BinNode<Integer>(1);
        BinNode<Integer> six   = new BinNode<Integer>(6);
        BinNode<Integer> three = new BinNode<Integer>(one, 3, six);
        BinNode<Integer> f14   = new BinNode<Integer>(14);
        BinNode<Integer> ten   = new BinNode<Integer>(null, 10, f14);
        BinNode<Integer> root  = new BinNode<Integer>(three, 8, ten);

        System.out.println(leftSpineSum(root));    // 12
        System.out.println(leftSpineSum(ten));     // 10
        System.out.println(leftSpineSum(null));    // 0
    }
}

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

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