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

עץ בינרי bt של מספרים שלמים. first מחזירה את סכום כל הערכים בעץ המושרש ב-bt (כולל bt עצמו). second מחזירה את סכום שני תת-העצים של bt. third משנה כל צומת בעץ במקום כך שערכו החדש = second שלו (מהערכים המקוריים).

public static int First(BinNode<int> bt){
    if(bt==null)
        return 0;
    return bt.GetValue()+First(bt.GetLeft())+First(bt.GetRight());
}
public static int Second(BinNode<int> bt){
    return First(bt.GetLeft())+First(bt.GetRight());
}
public static void Third(BinNode<int> bt){
    if(bt!=null)
    {
        bt.SetValue(Second(bt));
        Third(bt.GetLeft());
        Third(bt.GetRight());
    }
}

העץ הבינרי הנתון bt — פוענח מתמונת עמוד 9 (java) / עמוד 21 (csharp).

            8
          /   \
         3     8
        / \   / \
       4   2 9   6
            /
           8
סעיף א

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

סעיף ב

מה מחזירה הפעולה second(BinNode<Integer> bt) באופן כללי?

סעיף ג

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

סעיף ד

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

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

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

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

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