שאלת מבחן במבני נתונים - אוניברסיטת בר-אילן 2018 - מיון
מיון מהיר (quicksort או QS בקיצור) פועל ע"י (1) בחירת איבר חלוקה (שמטעמי עצלות נבחר לעיתים קרובות כ־), (2) חלוקת האיברים במערך ל־2 קבוצות ו־ שמכילות, בהתאמה, את האיברים הקטנים מ־ ואת האיברים הגדולים מ־ וסידור המערך מחדש ל־, ז"א במקומו המיועד, משמאלו איברי ומימינו איברי , ו־(3) המשך רקורסיבי על ועל .
הוכח/י שמיון מהיר אופטימלי בממוצע, כאשר בכל השאלה הממוצע מתייחס לכך שהמיקום בסידור הממויין של איבר החלוקה יכול להיות בכל אחד מ־ המקומות, בהסתברות שווה.
הדרכה: נגדיר - מספר השוואות ממוצע כדי למיין איברים ע"י QS.
א) כאשר הוא מספר ההשוואות לביצוע החלוקה, היא ההסתברות שאיבר החלוקה יפול למקום ה־, ו־ היא עלות ההמשך הרקורסיבי במקרה שאיבר החלוקה יפול למקום ה־, ועליכם למצוא את במונחים של . רשמו את הנוסחה הרקורסיבית שמתקבלת עבור .
ב) הכפל/י את 2 צידי המשוואה ב־ כדי לטפל רק במספרים שלמים.
ג) נסחו משוואה דומה אך שונה: עם פרמטר במקום .
ד) צרו משוואה חדשה ע"י חיסור אגף אגף של המשוואות הקודמות, וסידור מחדש.
ה) חלקו את שני האגפים ב־.
ו) הגדירו , וקבלו נוסחה רקורסיבית עבור .
ז) פתרו עבור והסיקו ל־. מה המסקנה בענין האופטימליות של QS?
הוכח/י שמיון מהיר אופטימלי בממוצע, כאשר בכל השאלה הממוצע מתייחס לכך שהמיקום בסידור הממויין של איבר החלוקה יכול להיות בכל אחד מ־ המקומות, בהסתברות שווה.
הדרכה: נגדיר - מספר השוואות ממוצע כדי למיין איברים ע"י QS.
א) כאשר הוא מספר ההשוואות לביצוע החלוקה, היא ההסתברות שאיבר החלוקה יפול למקום ה־, ו־ היא עלות ההמשך הרקורסיבי במקרה שאיבר החלוקה יפול למקום ה־, ועליכם למצוא את במונחים של . רשמו את הנוסחה הרקורסיבית שמתקבלת עבור .
ב) הכפל/י את 2 צידי המשוואה ב־ כדי לטפל רק במספרים שלמים.
ג) נסחו משוואה דומה אך שונה: עם פרמטר במקום .
ד) צרו משוואה חדשה ע"י חיסור אגף אגף של המשוואות הקודמות, וסידור מחדש.
ה) חלקו את שני האגפים ב־.
ו) הגדירו , וקבלו נוסחה רקורסיבית עבור .
ז) פתרו עבור והסיקו ל־. מה המסקנה בענין האופטימליות של QS?
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א2018סמסטר ב
★★★★★
מיוןמיון מהירנוסחת נסיגהסיבוכיותסיבוכיות זמןהוכחת נכונות
התחילו בכתיבת נוסחת נסיגה עבור מספר ההשוואות הממוצע, , ולאחר מכן השתמשו בטכניקות אלגבריות ובהגדרת משתנה עזר כדי לפשט ולפתור אותה.
נוכיח כי מיון מהיר (Quicksort) הוא אופטימלי בממוצע על ידי פיתוח ופתרון נוסחת נסיגה למספר ההשוואות הממוצע, . נעקוב אחר שלבי ההדרכה.
**א) ניסוח נוסחת הנסיגה עבור **
הוא מספר ההשוואות הממוצע למיין איברים. על פי הנתון, שלב החלוקה דורש השוואות (כל איבר מושווה לאיבר החלוקה). בנוסף, איבר החלוקה יכול ליפול לכל אחד מ- המקומות האפשריים בסידור הממוין, בהסתברות שווה של .
אם איבר החלוקה נופל למקום ה- (כלומר, הוא האיבר ה- בגודלו), המערך מתחלק לשתי תת-בעיות: מיון תת-מערך בגודל (האיברים הקטנים מ-) ומיון תת-מערך בגודל (האיברים הגדולים מ-). העלות הממוצעת של ההמשך הרקורסיבי, , היא סכום העלויות של שתי תת-הבעיות: .
לפיכך, נוסחת הנסיגה המלאה היא:
נפשט את הסכום:
נציב חזרה ונקבל את הנוסחה הרקורסיבית עבור , כאשר תנאי הבסיס הם :
**ב) הכפלה ב-**
כדי להיפטר מהשבר, נכפיל את שני אגפי המשוואה ב- (עבור ):
**ג) ניסוח משוואה עבור **
נרשום את המשוואה מסעיף ב' עבור (עבור , כלומר ):
ד) חיסור וסידור מחדש
נחסר את המשוואה מסעיף ג' מזו של סעיף ב':
נסדר מחדש את המשוואה:
**ה) חלוקה ב-**
נחלק את שני אגפי המשוואה האחרונה בביטוי :
**ו) הגדרת וקבלת נוסחה עבורו**
נגדיר משתנה עזר . נשים לב ש-.
נשתמש בפירוק לשברים חלקיים עבור האיבר האחרון: .
נציב את ואת הפירוק במשוואה מסעיף ה':
**ז) פתרון עבור ו- והסקת מסקנות**
קיבלנו נוסחת נסיגה פשוטה ל-. נפתור אותה באמצעות סכום טלסקופי:
תנאי הבסיס הוא , ולכן .
זהו אינו סכום טלסקופי פשוט, אך ניתן לחשב אותו כ:
כאשר היא הסדרה ההרמונית, והיא מקיימת .
לכן, . אסימפטוטית, .
כעת נמצא את :
מכאן, הסיבוכיות הממוצעת של מיון מהיר היא .
מסקנה לגבי אופטימליות:
כל אלגוריתם מיון מבוסס השוואות דורש לפחות השוואות במקרה הממוצע. הוכחה זו מתבססת על ניתוח עץ ההחלטה של המיון. מכיוון שסיבוכיות הזמן הממוצעת של מיון מהיר היא , היא תואמת את החסם התחתון התיאורטי. לכן, מיון מהיר הוא אסימפטוטית אופטימלי במקרה הממוצע.
**א) ניסוח נוסחת הנסיגה עבור **
הוא מספר ההשוואות הממוצע למיין איברים. על פי הנתון, שלב החלוקה דורש השוואות (כל איבר מושווה לאיבר החלוקה). בנוסף, איבר החלוקה יכול ליפול לכל אחד מ- המקומות האפשריים בסידור הממוין, בהסתברות שווה של .
אם איבר החלוקה נופל למקום ה- (כלומר, הוא האיבר ה- בגודלו), המערך מתחלק לשתי תת-בעיות: מיון תת-מערך בגודל (האיברים הקטנים מ-) ומיון תת-מערך בגודל (האיברים הגדולים מ-). העלות הממוצעת של ההמשך הרקורסיבי, , היא סכום העלויות של שתי תת-הבעיות: .
לפיכך, נוסחת הנסיגה המלאה היא:
נפשט את הסכום:
נציב חזרה ונקבל את הנוסחה הרקורסיבית עבור , כאשר תנאי הבסיס הם :
**ב) הכפלה ב-**
כדי להיפטר מהשבר, נכפיל את שני אגפי המשוואה ב- (עבור ):
**ג) ניסוח משוואה עבור **
נרשום את המשוואה מסעיף ב' עבור (עבור , כלומר ):
ד) חיסור וסידור מחדש
נחסר את המשוואה מסעיף ג' מזו של סעיף ב':
נסדר מחדש את המשוואה:
**ה) חלוקה ב-**
נחלק את שני אגפי המשוואה האחרונה בביטוי :
**ו) הגדרת וקבלת נוסחה עבורו**
נגדיר משתנה עזר . נשים לב ש-.
נשתמש בפירוק לשברים חלקיים עבור האיבר האחרון: .
נציב את ואת הפירוק במשוואה מסעיף ה':
**ז) פתרון עבור ו- והסקת מסקנות**
קיבלנו נוסחת נסיגה פשוטה ל-. נפתור אותה באמצעות סכום טלסקופי:
תנאי הבסיס הוא , ולכן .
זהו אינו סכום טלסקופי פשוט, אך ניתן לחשב אותו כ:
כאשר היא הסדרה ההרמונית, והיא מקיימת .
לכן, . אסימפטוטית, .
כעת נמצא את :
מכאן, הסיבוכיות הממוצעת של מיון מהיר היא .
מסקנה לגבי אופטימליות:
כל אלגוריתם מיון מבוסס השוואות דורש לפחות השוואות במקרה הממוצע. הוכחה זו מתבססת על ניתוח עץ ההחלטה של המיון. מכיוון שסיבוכיות הזמן הממוצעת של מיון מהיר היא , היא תואמת את החסם התחתון התיאורטי. לכן, מיון מהיר הוא אסימפטוטית אופטימלי במקרה הממוצע.