עץ בינרי bt של מספרים שלמים. first מחזירה את סכום כל הערכים בעץ המושרש ב-bt (כולל bt עצמו). second מחזירה את סכום שני תת-העצים של bt. third משנה כל צומת בעץ במקום כך שערכו החדש = second שלו (מהערכים המקוריים).
עץ בינרי 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) באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.