המשימה
כתוב **שלוש** פעולות רקורסיביות שמדפיסות את ערכי העץ, כל ערך בשורה נפרדת: 1. סריקה תחילית (Preorder): שורש, שמאל, ימין. 2. סריקה תוכית (Inorder): שמאל, שורש, ימין. 3. סריקה סופית (Postorder): שמאל, ימין, שורש. עבור העץ שבדוגמה: תחילית: 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 ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.