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

נתונה הפעולה הבאה (הפעולה מחזירה true אם x קטן מכל הערכים בעץ t, אחרת מחזירה false; סיבוכיות זמן הריצה של הפעולה היא O(n), כאשר n מייצג את מספר הצמתים בעץ t):

public static bool LessThanTree(BinNode<int> t, int x)
{
    if (t == null)
        return true;
    if (!(x < t.GetValue()))
        return false;
    return LessThanTree(t.GetLeft(), x) && LessThanTree(t.GetRight(), x);
}
// LessThanTree מוחזרת true אם x קטן מכל הערכים בעץ t, אחרת false. סיבוכיות זמן הריצה היא O(n).
סעיף א

כתוב פעולה חיצונית treeLessThanTree ב-Java (TreeLessThanTree ב-C#), המקבלת שני עצים בינאריים t1 ו-t2 של ערכים שלמים. הפעולה מחזירה true אם כל ערך בעץ t1 קטן מכל ערך בעץ t2, אחרת — הפעולה מחזירה false. אם t1 הוא null — הפעולה תחזיר true. אפשר להשתמש בפעולה הנתונה בלי לממש אותה בעצמך; אם אתה משתמש בפעולות אחרות, עליך לממש אותן.

public static bool TreeLessThanTree(BinNode<int> t1, BinNode<int> t2)

סעיף ב

מהי סיבוכיות זמן הריצה של הפעולה שכתבת בסעיף א? נמק.

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

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

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

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