טוען...
טוען...
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
נתונה הפעולה stackSod1 והמחסנית st:
הערה
ההגדרה למחסנית מטיפוס שלם
Stack<Integer>שקולה להגדרהStackInt.
public static void stackSod1 (Stack<Integer> st, int element)
{
if(st.isEmpty())
st.push(element);
else
{
int val = st.pop();
stackSod1(st, element);
st.push(val);
}
}
public static void stackSod2 (Stack<Integer> st)
{
if(!st.isEmpty())
{
int val = st.pop();
stackSod2(st);
stackSod1(st, val);
st.push(val);
}
}סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod1(st, 9). יש להראות מעקב.
מהי מטרת הפעולה stackSod1?
מהי סיבוכיות זמן הריצה של הפעולה stackSod1?
נתונה הפעולה stackSod2 והמחסנית st:
סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod2(st). יש להראות מעקב.
הערה
בסעיף זה אין צורך לבצע מעקב אחרי הפעולה
stackSod1.
מהי מטרת הפעולה stackSod2?
מהי סיבוכיות זמן הריצה של הפעולה stackSod2?
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
נתונה הפעולה stackSod1 והמחסנית st:
הערה
ההגדרה למחסנית מטיפוס שלם
Stack<Integer>שקולה להגדרהStackInt.
public static void stackSod1 (Stack<Integer> st, int element)
{
if(st.isEmpty())
st.push(element);
else
{
int val = st.pop();
stackSod1(st, element);
st.push(val);
}
}
public static void stackSod2 (Stack<Integer> st)
{
if(!st.isEmpty())
{
int val = st.pop();
stackSod2(st);
stackSod1(st, val);
st.push(val);
}
}סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod1(st, 9). יש להראות מעקב.
מהי מטרת הפעולה stackSod1?
מהי סיבוכיות זמן הריצה של הפעולה stackSod1?
נתונה הפעולה stackSod2 והמחסנית st:
סרטטו את המחסנית כפי שהיא תיראה לאחר זימון הפעולה stackSod2(st). יש להראות מעקב.
הערה
בסעיף זה אין צורך לבצע מעקב אחרי הפעולה
stackSod1.
מהי מטרת הפעולה stackSod2?
מהי סיבוכיות זמן הריצה של הפעולה stackSod2?