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

חומרי לימוד

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

רקורסיה עם מחסנית - הוספה והסרה

שאלה קודמתשאלה הבאה
שאלה 6מבני נתונים2022 קיץ מועד א

רקורסיה עם מחסנית - הוספה והסרה

שים לב! לשאלה זו שני נוסחים: בשפת Java ובשפת C#. נתונה המחסנית st (מלמעלה למטה: 6, 3, 7, 4).

1public static void stackSod1 (Stack<Integer> st, int element)
2{
3    if(st.isEmpty())
4        st.push(element);
5    else
6    {
7        int val = st.pop();
8        stackSod1(st, element);
9        st.push(val);
10    }
11}
12
13public static void stackSod2 (Stack<Integer> st)
14{
15    if(!st.isEmpty())
16    {
17        int val = st.pop();
18        stackSod2(st);
19        stackSod1(st, val);
20        st.push(val);
21    }
22}

משימות

אמשימה אtable

סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod1(st, 9) / StackSod1(st, 9). יש להראות מעקב.

במשימה בtext

מהי מטרת הפעולה stackSod1 / StackSod1?

גמשימה גtext

מהי סיבוכיות זמן הריצה של הפעולה stackSod1 / StackSod1?

דמשימה דtable

סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod2(st) / StackSod2(st). יש להראות מעקב. (אין צורך לעקוב אחרי stackSod1).

המשימה הtext

מהי מטרת הפעולה stackSod2 / StackSod2?

ומשימה וtext

מהי סיבוכיות זמן הריצה של הפעולה stackSod2 / StackSod2?

שאלה 6מבני נתונים2022 קיץ מועד א

רקורסיה עם מחסנית - הוספה והסרה

שים לב! לשאלה זו שני נוסחים: בשפת Java ובשפת C#. נתונה המחסנית st (מלמעלה למטה: 6, 3, 7, 4).

1public static void stackSod1 (Stack<Integer> st, int element)
2{
3    if(st.isEmpty())
4        st.push(element);
5    else
6    {
7        int val = st.pop();
8        stackSod1(st, element);
9        st.push(val);
10    }
11}
12
13public static void stackSod2 (Stack<Integer> st)
14{
15    if(!st.isEmpty())
16    {
17        int val = st.pop();
18        stackSod2(st);
19        stackSod1(st, val);
20        st.push(val);
21    }
22}

משימות

אמשימה אtable

סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod1(st, 9) / StackSod1(st, 9). יש להראות מעקב.

במשימה בtext

מהי מטרת הפעולה stackSod1 / StackSod1?

גמשימה גtext

מהי סיבוכיות זמן הריצה של הפעולה stackSod1 / StackSod1?

דמשימה דtable

סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod2(st) / StackSod2(st). יש להראות מעקב. (אין צורך לעקוב אחרי stackSod1).

המשימה הtext

מהי מטרת הפעולה stackSod2 / StackSod2?

ומשימה וtext

מהי סיבוכיות זמן הריצה של הפעולה stackSod2 / StackSod2?