You are on page 1of 7

‫ממן ‪13‬‬

‫גל ליטמן‪314920869 ,‬‬


‫צורף קוד הפייתון המממש את הבעיה‪ ,‬כשמריצים את פונקציית הבדיקות מודפסות התוצאה המסתכמת של‬
‫הבדיקה הנוכחית‪ .‬הרעיון הוא ליצור מערך בגודל רנדומלי עם ערכים ראנדומלים ולהריץ את שני‬
‫האלגוריתמים‪ ,‬לסכום את זמן הריצה ואת מספר ההשוואות‪( .‬לפי התוצאות זמן הריצה של הפיתרון בזמן‬
‫ליניארי גרוע יותר‪ ,‬זה משום שהשתמשתי בפייטון כנראה ולשם כך נוסף מספר ההשוואות שמביע שיפור‬
‫ניכר)‬

‫מעל כל תוצאה מוצג מספר הבדיקה ולמטה התוצאות של שני האלגוריתמים‪.‬‬


‫בתמונה הבאה אני מציג את גודל כל בדיקה וכמה השוואות בכל אחד מהאלגוריתמים‪ ,‬ניתן ממש לראות שיש‬
‫אי תאימות‪ ,‬לפעמים האלגוריתם הרגיל טוב יותר ולפעמים לא‪ ,‬סך הכל אבל האלגוריתם המשופר טוב יותר‪.‬‬
‫עשיתי בנוסף השוואות עם גודל מערך קבוע ומאוד מעניין לראות שעם השיטה המתוקנת מספר ההשוואות‬
‫מאוד אחיד‬

‫האחידות נורא הגיונית‪ ,‬כי אין פה יותר מידי מקום למזל‪ ,‬כמו באלגוריתם בלי הייעול‬
‫הקבוע האסימטוטי פה באופן מעניין מתקרב ל‪ n2‬ככל שאנו מגדילים את מספר החלקים‪ ,‬הנה דוגמא להרצה‬
‫אשר משתמש בקבוצות יחסית גדולות (יותר מ‪ 5‬או ‪)7‬‬
‫השוותי גם בין הביצועים של חלוקה לקבוצות של ‪ 5‬ושל ‪,7‬‬

‫‪ Fix‬הוא קבוצות של ‪ 7‬ו‪ no fix‬הוא קבוצות של ‪ .5‬שזה יוצא מאוד הגיוני לפי שאלה ‪.9.3-1‬‬

‫לפי ‪ 9.3-1‬יש לאלגורתם עם החלוקה לקבוצות של ‪ 7‬יחס חלוקה הכי גרוע של ‪ .5:2‬אבל לחלוקה של ‪ 5‬יש‬
‫יחס חלוקה של ‪.7:3‬‬

‫פיתרון שאלה ‪9.3-1‬‬

You might also like