טוען...
טוען...
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
לפניכם עץ בינארי ששורשו root:
נתונה הפעולה sod בשפת Java:
java1public static boolean sod(BinNode<Integer> root, int num)
2{
3 if (root == null)
4 return false;
5 if (root.getValue() == num)
6 return true;
7 return sod(root.getLeft(), num) || sod(root.getRight(), num);
8}
(1) מהו הערך שיוחזר מהפעולה עבור הזימון sod(root, 25)? יש לבצע מעקב על הקוד.
(2) כתבו זימון נוסף שעבורו יוחזר ערך שונה מהערך שהוחזר בסעיף 1.
(3) הסבירו מה מבצעת הפעולה.
נתונה הפעולה secret בשפת Java:
java1public static int secret(BinNode<Integer> root, int x)
2{
3 if (!sod(root,x))
4 return 0;
5 if ((root.getLeft() != null && root.getLeft().getValue() == x) ||
6 (root.getRight() != null && root.getRight().getValue() == x))
7 {
8 return root.getValue()+ secret(root.getLeft(),x)+
9 secret(root.getRight(),x);
10 }
11 return secret(root.getLeft(),x)+secret(root.getRight(),x);
12}
(1) מהו הערך שיוחזר מהפעולה עבור הזימון secret(root, 10)? יש לבצע מעקב. אין צורך לבצע מעקב על הקריאה לפעולה sod אלא רק לציין את הערך שחוזר מהפעולה.
(2) מהו הערך שיוחזר מהפעולה עבור הזימון secret(root, 5)? אין צורך לבצע מעקב.
(3) כתבו זימון נוסף שעבורו יוחזר הערך 50. אין צורך לבצע מעקב.
(4) הסבירו מה מבצעת הפעולה.
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
לפניכם עץ בינארי ששורשו root:
נתונה הפעולה sod בשפת Java:
java1public static boolean sod(BinNode<Integer> root, int num)
2{
3 if (root == null)
4 return false;
5 if (root.getValue() == num)
6 return true;
7 return sod(root.getLeft(), num) || sod(root.getRight(), num);
8}
(1) מהו הערך שיוחזר מהפעולה עבור הזימון sod(root, 25)? יש לבצע מעקב על הקוד.
(2) כתבו זימון נוסף שעבורו יוחזר ערך שונה מהערך שהוחזר בסעיף 1.
(3) הסבירו מה מבצעת הפעולה.
נתונה הפעולה secret בשפת Java:
java1public static int secret(BinNode<Integer> root, int x)
2{
3 if (!sod(root,x))
4 return 0;
5 if ((root.getLeft() != null && root.getLeft().getValue() == x) ||
6 (root.getRight() != null && root.getRight().getValue() == x))
7 {
8 return root.getValue()+ secret(root.getLeft(),x)+
9 secret(root.getRight(),x);
10 }
11 return secret(root.getLeft(),x)+secret(root.getRight(),x);
12}
(1) מהו הערך שיוחזר מהפעולה עבור הזימון secret(root, 10)? יש לבצע מעקב. אין צורך לבצע מעקב על הקריאה לפעולה sod אלא רק לציין את הערך שחוזר מהפעולה.
(2) מהו הערך שיוחזר מהפעולה עבור הזימון secret(root, 5)? אין צורך לבצע מעקב.
(3) כתבו זימון נוסף שעבורו יוחזר הערך 50. אין צורך לבצע מעקב.
(4) הסבירו מה מבצעת הפעולה.