מחסנית what(s) מרוקנת ומדפיסה מחסנית מהראש לתחתית. doWhat(t,val) מחפשת בעץ בינרי t צומת עם ערך val ומדפיסה, אם נמצא, את הנתיב מאותו צומת חזרה לשורש; העץ bt: שורש 1, שמאל 2 (שמאל 3, ימין 4 שממנו שמאל 5), ימין 6 (ימין 7).
מחסנית what(s) מרוקנת ומדפיסה מחסנית מהראש לתחתית. doWhat(t,val) מחפשת בעץ בינרי t צומת עם ערך val ומדפיסה, אם נמצא, את הנתיב מאותו צומת חזרה לשורש; העץ bt: שורש 1, שמאל 2 (שמאל 3, ימין 4 שממנו שמאל 5), ימין 6 (ימין 7).
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 (מהאיור שבתחתית העמוד — נקרא מתמונת העמוד, לא מדליפת הספרות בטקסט הגולמי, ראו contentIssues)
1
/ \
2 6
/ \ \
3 4 7
/
5
מה מבצעת הפעולה what(Stack<Integer> 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, באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.