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

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

public static void what1(BinNode<Integer> bt)
  {
   if(bt!=null){
int x=bt.getValue();
if(what2(bt.getLeft(),x) && what2(bt.getRight(),x))
System.out.println(x);
what1(bt.getLeft());
what1(bt.getRight());
    }
  }

  public static boolean what2(BinNode<Integer> 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

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

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

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

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