טיפוס נתונים חדש TStack (תלת-מחסנית) המכיל שלוש מחסניות S0,S1,S2 של מספרים שלמים, עם שלוש פעולות מוגדרות: move(from,to) (מעבר חוקי רק 0->1, 1->2, 2->0), bigOrEqual(from,toCompare), isEmpty(stackId).
טיפוס נתונים חדש TStack (תלת-מחסנית) המכיל שלוש מחסניות S0,S1,S2 של מספרים שלמים, עם שלוש פעולות מוגדרות: move(from,to) (מעבר חוקי רק 0->1, 1->2, 2->0), bigOrEqual(from,toCompare), isEmpty(stackId).
נתונה תלת-מחסנית, שבה מחסנית מספר 0 מכילה מספרים שלמים לא ממוינים, ושתי מחסניות אחרות ריקות. כתבו פעולה void maximum(), המעבירה את האיבר הגדול ביותר ממחסנית S0 לראש המחסנית S1. הערה: יש להשתמש רק בשלוש הפעולות המוגדרות במחלקה TStack! אסור להשתמש במחלקה Stack או כל מבנה אחר.
public void Maximum()
נתונה תלת-מחסנית, שבה בכל המחסניות נמצאים מספרים שלמים לא ממוינים. כתבו פעולה void sort(), המשנה את סדר האיברים בתלת-מחסנית, כך שבאחת מהמחסניות האיברים יהיו ממוינים בסדר עולה (האיבר הגדול ביותר נמצא בתחתית המחסנית) ושתי מחסניות האחרות תהיינה ריקות. הערה: יש להשתמש רק בשלוש הפעולות המוגדרות במחלקה TStack ובפעולה maximum()! אסור להשתמש במחלקה Stack או בכל מבנה אחר.
public void Sort()
מהי סיבוכיות זמן הריצה של האלגוריתם בסעיף ב', בהנחה שבתלת-מחסנית יש N איברים? סיבוכיות כל הפעולות move, bigOrEqual, isEmpty היא O(1). הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.