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

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

public static int first(BinNode<Integer> bt){
    if(bt==null)
        return 0;
    return bt.getValue()+first(bt.getLeft())+first(bt.getRight());
}
public static int second(BinNode<Integer> bt){
    return first(bt.getLeft())+first(bt.getRight());
}
public static void third(BinNode<Integer> 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) באופן כללי?

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

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

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

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