נתונה הפעולה:
java1public static boolean lessThanTree (BinNode<Integer> t, int x)
csharp1public static bool LessThanTree (BinNode<int> t, int x)
הפעולה מחזירה true אם x קטן מכל הערכים בעץ t, אחרת הפעולה מחזירה false. סיבוכיות זמן הריצה של הפעולה היא O(n), כאשר n מייצג את מספר הצמתים בעץ t.
כתבו פעולה חיצונית treeLessThanTree (ב-Java) או TreeLessThanTree (ב-C#) המקבלת שני עצים בינאריים t1 ו-t2 של ערכים שלמים. נתון שב-t2 קיים לפחות צומת אחד.
הפעולה מחזירה true אם כל ערך בעץ t1 קטן מכל אחד מהערכים בעץ t2, אחרת הפעולה מחזירה false. אם t1 הוא null — הפעולה תחזיר true.
אפשר להשתמש בפעולה הנתונה lessThanTree בלי לממש אותה. אם אתם משתמשים בפעולות אחרות, עליכם לממש אותן.
מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף א? נמקו.
נתונה הפעולה:
java1public static boolean lessThanTree (BinNode<Integer> t, int x)
csharp1public static bool LessThanTree (BinNode<int> t, int x)
הפעולה מחזירה true אם x קטן מכל הערכים בעץ t, אחרת הפעולה מחזירה false. סיבוכיות זמן הריצה של הפעולה היא O(n), כאשר n מייצג את מספר הצמתים בעץ t.
כתבו פעולה חיצונית treeLessThanTree (ב-Java) או TreeLessThanTree (ב-C#) המקבלת שני עצים בינאריים t1 ו-t2 של ערכים שלמים. נתון שב-t2 קיים לפחות צומת אחד.
הפעולה מחזירה true אם כל ערך בעץ t1 קטן מכל אחד מהערכים בעץ t2, אחרת הפעולה מחזירה false. אם t1 הוא null — הפעולה תחזיר true.
אפשר להשתמש בפעולה הנתונה lessThanTree בלי לממש אותה. אם אתם משתמשים בפעולות אחרות, עליכם לממש אותן.
מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף א? נמקו.