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