אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2026 · קיץ מועד א · שאלה 3כל שאלות המבחן ←
עציםעצים בינאריים

שימו לב: לשאלה זו שני נוסחים שקולים - Java (עמודים 6-7) ו-C# (עמודים 8-9). נתונות הפעולות הרקורסיביות הבאות על עץ בינרי (BinNode<T>, עם הפעולות getValue/getLeft/getRight/setLeft/setRight/hasLeft/hasRight ב-Java, GetValue/GetLeft/GetRight/SetLeft/SetRight/HasLeft/HasRight ב-C#):

עץ 1 (לסעיף א(1)):

עץ 2 (לסעיפים א(2) ו-ב(1)):

public static int foo (BinNode<Integer> tree) {
    if (tree.getLeft() == null && tree.getRight() == null)
        return 0;
    if (tree.getLeft() == null)
        return foo (tree.getRight()) + 1;
    if (tree.getRight() == null)
        return foo (tree.getLeft()) - 1;
    return foo (tree.getLeft()) + foo (tree.getRight());
}

public static boolean goo (BinNode<Integer> tree) {
    if (tree == null)
        return true;
    if (foo (tree) != 0)
        return false;
    return goo (tree.getLeft()) && goo (tree.getRight());
}

עץ 1 (foo, סעיף א(1)): שורש 5, אין בן שמאלי, בן ימני 9; ל-9 אין בן שמאלי, בן ימני 7; ל-7 בן שמאלי 0 ובן ימני 3 (שניהם עלים).

tree->5
5.right->9
9.right->7
7.left=0 (leaf), 7.right=3 (leaf)

עץ 2 (foo, סעיף א(2), זהה גם ל-goo בעמודים 7/9): שורש 5, בן ימני בלבד 1; ל-1 בן שמאלי 0 ובן ימני 7; ל-0 בן שמאלי בלבד 2; ל-2 בן שמאלי בלבד 4 (עלה); ל-7 בן ימני בלבד 3 (עלה).

tree->5
5.right->1
1.left->0, 1.right->7
0.left->2
2.left->4 (leaf)
7.right->3 (leaf)
סעיף א(1)

בצעו מעקב אחרי הפעולה foo והעץ שלפניכם, וכתבו מה הפעולה מחזירה. יש להציג את המעקב.

foo(tree)

סעיף א(2)
סעיף א(3)

בעבור עץ שיש לו 6 צמתים, מהו המספר הכי גבוה שהפעולה foo יכולה להחזיר? הציגו את העץ.

סעיף א(4)

בעבור עץ שיש לו 6 צמתים, מהו המספר הכי נמוך שהפעולה foo יכולה להחזיר? הציגו את העץ.

סעיף א(5)

כתבו בקצרה מה הפעולה foo מחזירה בעבור עץ כלשהו שאינו ריק.

סעיף ב(1)

בצעו מעקב אחרי הפעולה goo והעץ שלפניכם, וכתבו מה הפעולה מחזירה. יש להציג את המעקב. בסעיף זה אין צורך להציג מעקב אחרי הפעולה foo.

goo(tree)

סעיף ב(2)

הציגו עץ שיש לו 3 צמתים שבעבורו הפעולה goo תחזיר תוצאה הפוכה מן התוצאה שהתקבלה בתת-סעיף ב(1).

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי