סעיף א
הפעולה 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)ורשמו מה תחזיר הפעולה עבור העץ שלפניכם:⚠️ עץ הדוגמה מוצג כתרשים גרפי ב-PDF ולא ניתן לשחזור משכבת הטקסט (לא נשמרו ערכי הצמתים). יש לעיין בעמוד המקורי (עמ' 10 C# / עמ' 20 Java) לפני מענה על סעיף זה.
- מה מבצעת הפעולה Second באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.