אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2022 · קיץ מועד א · שאלה 7כל שאלות המבחן ←
עציםעצים בינאריים

what2(bt,x) בודקת שאין את הערך x בשום צומת בתת-העץ; what1(bt) מדפיסה את הערך של כל צומת שבשני תתי-העצים שלו (שמאל וימין) אין אף מופע של ערך הצומת עצמו, ואז ממשיכה רקורסיבית.

public static void What1(BinNode<int> bt)
  {
   if(bt!=null){
int x=bt.GetValue();
if(What2(bt.GetLeft(),x) && What2(bt.GetRight(),x))
Console.WriteLine(x);
What1(bt.GetLeft());
What1(bt.GetRight());
    }
  }

  public static bool What2(BinNode<int> bt, int x)
   {
    if(bt==null)return true;
    if(bt.GetValue()==x)return false;
    return What2(bt.GetLeft(), x) && What2(bt.GetRight(), x);
   }

העץ הבינרי bt שבסעיפים א'-ה' (200dpi crop, עמ' 9): שורש=3; בן-שמאל של השורש=3 (עם בן-שמאל=1, בן-ימין=3 שיש לו בן-ימין=2); בן-ימין של השורש=10 (עם בן-שמאל=9 שיש לו בן-שמאל=7, ובן-ימין=7 שיש לו בן-ימין=10).

                 3
          /             \
         3               10
        / \             /  \
       1   3           9    7
            \         /      \
             2       7        10
סעיף א

מה תהיה תוצאת זימון הפעולה what2(bt, 10)? חובה להראות את המעקב!

סעיף ב

תנו דוגמה של הפרמטר x, שעבורו זימון הפעולה what2(bt, x) יחזיר תוצאה שונה מזו שהתקבלה בסעיף א'.

סעיף ג

מה מבצעת הפעולה what2(BinNode<Integer> bt, int x) באופן כללי?

סעיף ד

מה תהיה תוצאת הזימון what1(bt) לעץ הנתון bt? חובה להראות את המעקב! הערה: אין צורך במעקב אחרי הפעולה what2.

סעיף ה

מה מבצעת הפעולה what1(bt) באופן כללי? bt

שאלות ותגובות על השאלה

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

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

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