שאלת מבחן במבני נתונים ומבוא לאלגוריתמים - האוניברסיטה הפתוחה 2023 - תורים
ברצוננו לממש תור באמצעות שתי מחסניות ו-, כך שעבור פעולות הכנסה ו- פעולות מחיקה, בסדר אפשרי כלשהו (), על ריק מלכתחילה, זמן הריצה (כלומר כמות הפעולות הבסיסיות – push ו-pop) יהיה .
תארו את מבנה המימוש וכתבו בפסאודו-קוד את הפעולות ENQUEUE ו-DEQUEUE של בעזרת פעולות המחסניות PUSH ו-POP.
תארו את מבנה המימוש וכתבו בפסאודו-קוד את הפעולות ENQUEUE ו-DEQUEUE של בעזרת פעולות המחסניות PUSH ו-POP.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
שאלה חוזרתהאוניברסיטה הפתוחהמבחן סמסטר ב2023 סמסטר ב | 2023 סמסטר ב
★★★★★
תוריםמחסניותמבני נתונים
משמשת להכנסות ו- למחיקות. כאשר ריקה ורוצים למחוק, מעבירים את כל התוכן מ- ל-.
מבנה המימוש:
נשתמש בשתי מחסניות:
- – מחסנית להכנסות
- – מחסנית למחיקות
פסאודו-קוד:
הסבר: כאשר מכניסים איבר, דוחפים אותו ל-. כאשר רוצים להוציא, אם אינה ריקה, שולפים ממנה (האיבר העליון ב- הוא הראשון שנכנס). אם ריקה, מעבירים את כל ל- (ההיפוך הופך את הסדר כך שהאיבר הראשון שנכנס יהיה בראש ), ואז שולפים.
נשתמש בשתי מחסניות:
- – מחסנית להכנסות
- – מחסנית למחיקות
פסאודו-קוד:
ENQUEUE(Q, x):
PUSH(S1, x)
DEQUEUE(Q):
if S2 is empty:
while S1 is not empty:
PUSH(S2, POP(S1))
return POP(S2)
הסבר: כאשר מכניסים איבר, דוחפים אותו ל-. כאשר רוצים להוציא, אם אינה ריקה, שולפים ממנה (האיבר העליון ב- הוא הראשון שנכנס). אם ריקה, מעבירים את כל ל- (ההיפוך הופך את הסדר כך שהאיבר הראשון שנכנס יהיה בראש ), ואז שולפים.