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

שלוש הסריקות

בינוני C#

המשימה

כתוב **שלוש** פעולות רקורסיביות שמדפיסות את ערכי העץ, כל ערך בשורה
נפרדת:

1. סריקה תחילית (Preorder): שורש, שמאל, ימין.
2. סריקה תוכית (Inorder): שמאל, שורש, ימין.
3. סריקה סופית (Postorder): שמאל, ימין, שורש.

עבור העץ שבדוגמה:
  תחילית:  4 2 1 3 7 9
  תוכית:   1 2 3 4 7 9
  סופית:   1 3 2 9 7 4

הנחיות:
• שלוש הפעולות זהות לחלוטין חוץ ממיקום אחד: היכן ממוקמת שורת ההדפסה
  ביחס לשתי הקריאות הרקורסיביות. זו כל השאלה.
• מקרה הבסיס בשלושתן: עץ ריק — לא מדפיסים כלום ומסיימים.
• עץ ריק אינו מדפיס דבר, וזה תקין.

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

```ds:tree
{"title":"העץ שבדוגמה","nodes":["4","2","7","1","3",null,"9"]}
```

```ds:table
{"title":"שלושת הפלטים","rows":[["סריקה","פלט"],["תחילית","4 2 1 3 7 9"],["תוכית","1 2 3 4 7 9"],["סופית","1 3 2 9 7 4"]]}
```

קוד הפתיחה

using System;

class Program {

    static void Preorder(BinNode<int> root) {
        // שורש, שמאל, ימין
    }

    static void Inorder(BinNode<int> root) {
        // שמאל, שורש, ימין
    }

    static void Postorder(BinNode<int> root) {
        // שמאל, ימין, שורש
    }

    static void Main() {
        //        4
        //       / \
        //      2   7
        //     / \    \
        //    1   3    9
        BinNode<int> one   = new BinNode<int>(1);
        BinNode<int> three = new BinNode<int>(3);
        BinNode<int> nine  = new BinNode<int>(9);
        BinNode<int> two   = new BinNode<int>(one, 2, three);
        BinNode<int> seven = new BinNode<int>(null, 7, nine);
        BinNode<int> root  = new BinNode<int>(two, 4, seven);

        Preorder(root);    // 4 2 1 3 7 9
        Console.WriteLine("---");
        Inorder(root);     // 1 2 3 4 7 9
        Console.WriteLine("---");
        Postorder(root);   // 1 3 2 9 7 4
    }
}

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

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