בי מאסטר (Bmaster)מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
תפריט

חומרי לימוד

מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
חזרה למאגר2016 קיץ מועד ב

חיפוש סכום בסיבוכיות שונה

שאלה קודמתשאלה הבאה
שאלה 5מבני נתונים2016 קיץ מועד ב

חיפוש סכום בסיבוכיות שונה

לפניך הפעולות 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}

משימות

אמשימה אtable

נתון מערך a: 2, 4, 7, 12, 18. עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור i, j, a[i], a[j] ועמודה נוספת שבה יצוין אם התנאי שבפקודת if מתקיים.

במשימה בtable

עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=10. רשום את הערך המוחזר.

גמשימה גtext

מהי טענת היציאה של הפעולה sod (או Sod)?

דמשימה דtext

מהי סיבוכיות זמן הריצה של הפעולה sod (או Sod)? נמק את תשובתך.

המשימה הtable

עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה what (או What) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור left, right, a[left], a[right] ושתי עמודות נוספות לכל אחת מפקודות if.

ומשימה וtext

מהי סיבוכיות זמן הריצה של הפעולה what (או What)? נמק את תשובתך.

זמשימה זtext

מי מבין שתי הפעולות יעילה יותר? נמק את תשובתך.

חמשימה חtext

טענת הכניסה של הפעולות שונתה כך שאפשר להעביר אליהן מערך a לא ממוין. (1) האם טענת היציאה של הפעולה sod (או Sod) תשתנה? נמק. (2) האם טענת היציאה של הפעולה what (או What) תשתנה? נמק.

שאלה 5מבני נתונים2016 קיץ מועד ב

חיפוש סכום בסיבוכיות שונה

לפניך הפעולות 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}

משימות

אמשימה אtable

נתון מערך a: 2, 4, 7, 12, 18. עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור i, j, a[i], a[j] ועמודה נוספת שבה יצוין אם התנאי שבפקודת if מתקיים.

במשימה בtable

עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה sod (או Sod) בעבור המערך הנתון a והמספר k=10. רשום את הערך המוחזר.

גמשימה גtext

מהי טענת היציאה של הפעולה sod (או Sod)?

דמשימה דtext

מהי סיבוכיות זמן הריצה של הפעולה sod (או Sod)? נמק את תשובתך.

המשימה הtable

עקוב בעזרת טבלת מעקב אחר ביצוע הפעולה what (או What) בעבור המערך הנתון a והמספר k=11. רשום את הערך המוחזר. בטבלת המעקב יש לכלול עמודות בעבור left, right, a[left], a[right] ושתי עמודות נוספות לכל אחת מפקודות if.

ומשימה וtext

מהי סיבוכיות זמן הריצה של הפעולה what (או What)? נמק את תשובתך.

זמשימה זtext

מי מבין שתי הפעולות יעילה יותר? נמק את תשובתך.

חמשימה חtext

טענת הכניסה של הפעולות שונתה כך שאפשר להעביר אליהן מערך a לא ממוין. (1) האם טענת היציאה של הפעולה sod (או Sod) תשתנה? נמק. (2) האם טענת היציאה של הפעולה what (או What) תשתנה? נמק.