בשאלה זו עובדים עם עצים בינאריים של ערכים שלמים (חוליות מטיפוס BinNode).
בסעיף ב נתונה הפעולה check (ב-C#: Check) המקבלת שני עצים בינאריים לא ריקים מטיפוס שלם, t1 ו-t2, ומחזירה רשימה (שרשרת חוליות מטיפוס Node) המכילה את כל המספרים הנמצאים בעץ t1 ואינם נמצאים בעץ t2. הפעולה מזמנת פעולה נוספת המקבלת שלושה פרמטרים:
1public static Node<Integer> check(BinNode<Integer> t1, BinNode<Integer> t2)
2{
3 Node<Integer> first = new Node<Integer>(-1);
4 first = check(t1, t2, first);
5 return first.getNext();
6}ממשו פעולה חיצונית exist (ב-Java) או Exist (ב-C#). הפעולה תקבל עץ בינרי t מטיפוס שלם ומספר שלם x. הפעולה תחזיר true אם יש בעץ צומת שערכו x, אחרת תחזיר false. אם העץ ריק — הפעולה תחזיר false.
ממשו את הפעולה בעלת שלושת הפרמטרים:
java1public static Node<Integer> check(BinNode<Integer> t1, BinNode<Integer> t2, Node<Integer> list)
csharp1public static Node<int> Check(BinNode<int> t1, BinNode<int> t2, Node<int> list)
כך שהפעולה הנתונה בת שני הפרמטרים תבצע את הנדרש. אתם יכולים להשתמש בפעולה שמימשתם בסעיף א.
מהי סיבוכיות זמן הריצה של הפעולה שמימשתם בסעיף ב? נמקו את תשובתכם.
בשאלה זו עובדים עם עצים בינאריים של ערכים שלמים (חוליות מטיפוס BinNode).
בסעיף ב נתונה הפעולה check (ב-C#: Check) המקבלת שני עצים בינאריים לא ריקים מטיפוס שלם, t1 ו-t2, ומחזירה רשימה (שרשרת חוליות מטיפוס Node) המכילה את כל המספרים הנמצאים בעץ t1 ואינם נמצאים בעץ t2. הפעולה מזמנת פעולה נוספת המקבלת שלושה פרמטרים:
1public static Node<Integer> check(BinNode<Integer> t1, BinNode<Integer> t2)
2{
3 Node<Integer> first = new Node<Integer>(-1);
4 first = check(t1, t2, first);
5 return first.getNext();
6}ממשו פעולה חיצונית exist (ב-Java) או Exist (ב-C#). הפעולה תקבל עץ בינרי t מטיפוס שלם ומספר שלם x. הפעולה תחזיר true אם יש בעץ צומת שערכו x, אחרת תחזיר false. אם העץ ריק — הפעולה תחזיר false.
ממשו את הפעולה בעלת שלושת הפרמטרים:
java1public static Node<Integer> check(BinNode<Integer> t1, BinNode<Integer> t2, Node<Integer> list)
csharp1public static Node<int> Check(BinNode<int> t1, BinNode<int> t2, Node<int> list)
כך שהפעולה הנתונה בת שני הפרמטרים תבצע את הנדרש. אתם יכולים להשתמש בפעולה שמימשתם בסעיף א.
מהי סיבוכיות זמן הריצה של הפעולה שמימשתם בסעיף ב? נמקו את תשובתכם.