נתונה פעולה הבאה:
נתונה פעולה הבאה:
public static boolean what(BinNode<Integer> 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 אף בן ימני (עץ 'שרוך'), סריקתו בסדר תחילי תדפיס ערכים ממוינים מהגדול לקטן.
סעיף ו
- סריקת העץ בסדר תוכי תדפיס תמיד ערכים ממוינים.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.