אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2022 · קיץ מועד א · שאלה 6כל שאלות המבחן ←
רקורסיהאלגוריתמים רקורסיביים

נתונה הפעולה StackSod1 והמחסנית st:

public static void StackSod1(Stack<int> st, int element)
{
    if(st.IsEmpty())
        st.Push(element);
    else
    {
        int val = st.Pop();
        StackSod1(st, element);
        st.Push(val);
    }
}

הערה: ההגדרה למחסנית מטיפוס שלם Stack<int> שקולה להגדרה StackInt.

נתונה הפעולה StackSod2 והמחסנית st:

public static void StackSod2 (Stack<int> st)
{
    if(!st.IsEmpty())
    {
        int val = st.Pop();
        StackSod2(st);
        StackSod1(st, val);
        st.Push(val);
    }
}

המחסנית הנתונה בשני הסעיפים (מהראש לתחתית: 6,3,7,4)

st (top->bottom): 6,3,7,4
סעיף א1

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

סעיף א2

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

סעיף א3

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

סעיף ב1

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

סעיף ב2

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

סעיף ב3

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

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי