- הגשות
- פתרונות
- פתרון רשמי
- תיאור
דני שינה את תנאי העצירה של מיון מהיר. במקום התנאי if p < r
בשורה הראשונה, הוא כתב if p < r - k
.
א. מה האפקט של שינוי זה? כלומר, מה תהיה תוצאת השגרה לאחר הרצה על מערך כלשהו בגודל \(n\)?
ב. בהנחה ש-\(k\) הוא פרמטר לשגרה, מה יהיה זמן הריצה של מיון מהיר של דני במקרה הטוב ובמקרה הגרוע, כפונקציה של \(n\) ו-\(k\)?
ג. בחברה של דני שמו לב לשינוי והורו לתקן את כל המערכים שעליהם הורצה השגרה עד כה, כך שיהיו ממוינים. באיזה אלגוריתם, מיון מיזוג או מיון הכנסה, הייתם ממליצים לחברה להשתמש כדי לתקן את המערכים? הסבירו.
הבהרה: האלגוריתם הנבחר יפעל על מערך שעליו הורץ תחילה מיון מהיר של דני, ועליו לעשות זאת בזמן אסימפטוטי הטוב ביותר. התייחסו לערכי \(k\) שונים.
חשבו מה קורה כשהרקורסיה עוצרת ומה גודל תתי-המערכים שאינם ממוינים. לאחר מכן, שקלו כיצד מיון מיזוג ומיון הכנסה מתמודדים עם מערכים שהם "כמעט ממוינים", ותלות ביצועיהם במידת הסדר הקיים במערך.