לפניכם הפעולות הבאות:
public static void What(Stack<int> s)
{
if (!s.IsEmpty())
{
Console.Write(s.Pop()+" ");
What(s);
}
}
public static void DoWhat(BinNode<int> t, int data)
{
Stack<int>s = new Stack<int>();
DoWhat(t, s, data);
}
private static void DoWhat(BinNode<int> t, Stack<int> s, int val)
{
if (t!=null)
{
int x = t.GetValue();
s.Push(x);
if(x == val)
{
What(s);
}
else
{
DoWhat(t.GetLeft(), s, val);
if (!s.IsEmpty())
DoWhat(t.GetRight(), s, val);
if (!s.IsEmpty())
s.Pop();
}
}
}
העץ הבינרי bt:
1
/ \
2 6
/ \ \
3 4 7
/
5
סעיף א
מה מבצעת הפעולה What(Stack<int> s) עבור מחסנית של מספרים שלמים s?
public static void What (Stack<int> s)
סעיף ב
עקבו אחרי זימון הפעולה DoWhat(bt,3) עבור עץ bt שבאיור, וכתבו מה יהיה הפלט של הזימון.
סעיף ג
עקבו אחרי זימון הפעולה DoWhat(bt,5) עבור עץ bt שבאיור, וכתבו מה יהיה הפלט של הזימון.
סעיף ד
מה יהיה פלט של זימון הפעולה doWhat(bt,10) עבור עץ bt שבאיור?
סעיף ה
מה מבצעת הפעולה doWhat(t, val) עבור עץ בינרי t ומספר שלם val, באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.