נתונה פעולה הבאה:
נתונה פעולה הבאה:
public static bool What(BinNode<int> t)
{
if (t == null) return true;
int x = t.GetValue();
if (t.GetLeft()!=null && t.GetLeft().GetValue() >= x)
return false;
if (t.GetRight()!=null && t.GetRight().GetValue() < x)
return false;
return What(t.GetLeft()) && What(t.GetRight());
}
נתון עץ בינארי t שעבורו הפעולה What(t) מחזירה ערך true. עבור כל אחת מטענות הבאות ענו אם היא נכונה או לא. אם הטענה אינה נכונה, יש לצייר דוגמת עץ סותרת.
סעיף א
- אם בשורש העץ הופיע המספר 13, 13 יכול להופיע שוב רק כבנו הימני של השורש.
סעיף ב
- אם בשורש העץ הופיע המספר 13, 13 יכול להופיע שוב רק בתת-העץ הימני של השורש.
סעיף ג
- אם בשורש העץ הופיע המספר 13, 13 יכול להופיע במקומות רבים בעץ, כולל תת העץ השמאלי, אך לא כבנו של צומת שערכו 13 או פחות.
סעיף ד
- לא ייתכנו בעץ t שני אחים בעלי ערך זהה.
סעיף ה
- אם אין בעץ t אף בן ימני (עץ 'שרוך'), סריקתו בסדר תחילי תדפיס ערכים ממוינים מהגדול לקטן.
סעיף ו
- סריקת העץ בסדר תוכי תדפיס תמיד ערכים ממוינים.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.