סעיף א
הפעולה First שלפניכם מקבלת הפניה ch לחוליה הראשונה של שרשרת החוליות של מספרים שלמים ומספר שלם x.
public static Node<int> First(Node<int> ch, int x){
if(ch == null)
return new Node<int>(x);
ch.SetNext(First(ch.GetNext(),x));
return ch;
}
- נתונה שרשרת החוליות:
ch ->8➔7➔9➔15➔4עקבו אחרי זימון הפעולהch = First(ch, 3)ורשמו איך תיראה השרשרת אחרי ביצוע הפעולה. - מה מבצעת הפעולה First באופן כללי?
סעיף ב
כתבו את הפעולה First בצורה הלא רקורסיבית.
סעיף ג
הפעולה Second שלפניכם מקבלת הפניה לשורש של עץ בינארי ומספר שלם וחיובי k.
public static Node<int> Second(BinNode<int> bt, int k){
Node<int> list = Third(bt, null, k);
return list;
}
public static Node<int> Third(BinNode<int> bt, Node<int> list, int k) {
if(bt!=null)
{
if(k>0)
{
list = Third(bt.GetLeft(), list, k-1);
list = Third(bt.GetRight(), list, k-1);
}
else
list = First(list, bt.GetValue());
}
return list;
}
- עקבו אחרי זימון הפעולה
Second(bt,3)ורשמו מה תחזיר הפעולה עבור העץ שלפניכם: העץ (מתוך התרשים שבשאלון): השורש 7; 7.שמאל = 1, 7.ימין = 5; 1.שמאל = 1, 1.ימין = 7; ל-7 (הבן) יש בן ימני 6 בלבד; 5.ימין = 2 (ל-5 אין בן שמאלי); 2.שמאל = 2, 2.ימין = 3; ל-2 (הבן השמאלי) יש בן שמאלי 6 בלבד. - מה מבצעת הפעולה Second באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.