לפניך הפעולות sod ו־ what המקבלות מערך a שאיבריו מטיפוס שלם, ממוין בסדר עולה, ומספר שלם k. לשתי הפעולות אותה טענת יציאה.
1public static boolean sod(int[] a, int k)
2{
3 for (int i=0; i < a.length-1; i++)
4 {
5 int j=i+1;
6 while (j < a.length)
7 {
8 if (a[i]+a[j] == k)
9 return true;
10 j++;
11 }
12 }
13 return false;
14}
15
16public static boolean what(int[] a, int k)
17{
18 int left = 0, right = a.length-1;
19 while (left < right)
20 {
21 if (a[left]+a[right] == k)
22 return true;
23 if (a[left]+a[right] < k)
24 left++;
25 else
26 right--;
27 }
28 return false;
29}נתון מערך a: 2, 4, 7, 12, 18. עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור i, j, a[i], a[j] ועמודה נוספת שבה יצוין אם התנאי שבפקודת if מתקיים.
עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=10. רשום את הערך המוחזר.
מהי טענת היציאה של הפעולה sod (או Sod)?
מהי סיבוכיות זמן הריצה של הפעולה sod (או Sod)? נמק את תשובתך.
עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה what (או What) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור left, right, a[left], a[right] ושתי עמודות נוספות לכל אחת מפקודות if.
מהי סיבוכיות זמן הריצה של הפעולה what (או What)? נמק את תשובתך.
מי מבין שתי הפעולות יעילה יותר? נמק את תשובתך.
טענת הכניסה של הפעולות שונתה כך שאפשר להעביר אליהן מערך a לא ממוין.
(1) האם טענת היציאה של הפעולה sod (או Sod) תשתנה? נמק.
(2) האם טענת היציאה של הפעולה what (או What) תשתנה? נמק.
לפניך הפעולות sod ו־ what המקבלות מערך a שאיבריו מטיפוס שלם, ממוין בסדר עולה, ומספר שלם k. לשתי הפעולות אותה טענת יציאה.
1public static boolean sod(int[] a, int k)
2{
3 for (int i=0; i < a.length-1; i++)
4 {
5 int j=i+1;
6 while (j < a.length)
7 {
8 if (a[i]+a[j] == k)
9 return true;
10 j++;
11 }
12 }
13 return false;
14}
15
16public static boolean what(int[] a, int k)
17{
18 int left = 0, right = a.length-1;
19 while (left < right)
20 {
21 if (a[left]+a[right] == k)
22 return true;
23 if (a[left]+a[right] < k)
24 left++;
25 else
26 right--;
27 }
28 return false;
29}נתון מערך a: 2, 4, 7, 12, 18. עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור i, j, a[i], a[j] ועמודה נוספת שבה יצוין אם התנאי שבפקודת if מתקיים.
עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=10. רשום את הערך המוחזר.
מהי טענת היציאה של הפעולה sod (או Sod)?
מהי סיבוכיות זמן הריצה של הפעולה sod (או Sod)? נמק את תשובתך.
עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה what (או What) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור left, right, a[left], a[right] ושתי עמודות נוספות לכל אחת מפקודות if.
מהי סיבוכיות זמן הריצה של הפעולה what (או What)? נמק את תשובתך.
מי מבין שתי הפעולות יעילה יותר? נמק את תשובתך.
טענת הכניסה של הפעולות שונתה כך שאפשר להעביר אליהן מערך a לא ממוין.
(1) האם טענת היציאה של הפעולה sod (או Sod) תשתנה? נמק.
(2) האם טענת היציאה של הפעולה what (או What) תשתנה? נמק.