ViewWiki

שיעור 1 מתוך 4

הצעדים של אלגוריתם.

כ־25 דקות · 6 שאלות תרגול

מה זה אלגוריתם, דרך שיטה אחת למיין: מיון בועות משווה שכנים ומחליף אותם, מעבר אחר מעבר. סופרים השוואות והחלפות, ורואים איך השורה שמתחילים ממנה משנה את העבודה.

שלב 1 מתוך 6 · צעדים מדויקים

שלב 1 מתוך 6

צעדים מדויקים

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

הבעיה כאן היא מיון: לסדר שורה של בלוקים מהנמוך לגבוה. באלגוריתם בחרתם מיון בועות, והכלל שלו קצר:

  1. השוו שני שכנים.
  2. אם השמאלי גבוה יותר, החליפו ביניהם.
  3. עברו לזוג הבא, עד סוף השורה. זה מעבר אחד.
  4. חזרו על המעברים עד שמעבר שלם עובר בלי אף החלפה.

צפו בבלוקים: סוגר כחול מסמן השוואה של זוג שכבר בסדר, וסוגר כתום מסמן החלפה. הלוחית מתחת למדף סופרת את ההשוואות ואת ההחלפות.

לשאלה

שלב 2 מתוך 6

מעבר אחד

כדי להשוות אלגוריתמים בלי שעון, סופרים את הצעדים הבסיסיים שלהם. במיון, הצעד הבסיסי הוא השוואה של שני בלוקים: כמה השוואות עושה האלגוריתם עד שהשורה ממוינת.

לשאלה

שלב 3 מתוך 6

הגבוה ביותר נסחף לקצה

השם “מיון בועות” בא ממה שקורה בכל מעבר: הבלוק הגבוה ביותר צף ימינה, כמו בועה שעולה במים. צפו במעבר הראשון וחשבו מה הוא מבטיח.

לשאלה

שלב 4 מתוך 6

כל הזוגות

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

הסכום 1+2+⋯+(n−1)1 + 2 + \cdots + (n-1)⁠ הוא מספר הזוגות שאפשר ליצור מ־nn⁠ בלוקים:

1+2+⋯+(n−1)=n(n−1)21 + 2 + \cdots + (n-1) = \frac{n(n-1)}{2}⁠

לשאלה

שלב 5 מתוך 6

לספור החלפות

השוואה היא רק חצי מהעבודה; חלק מההשוואות מסתיימות בהחלפה. קראו לשני בלוקים שהגבוה מביניהם עומד משמאל זוג הפוך. החלפה של שני שכנים מתקנת בדיוק את הזוג שלהם, ולא משנה אף זוג אחר.

לשאלה

שלב 6 מתוך 6

לעצור מוקדם

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

לשאלה

תמונה של הסצנה התלת־ממדית „אלגוריתמים ומיון”
סצנה אינטראקטיבית

הגרסה האינטראקטיבית נטענת…

כל שלב מכין לכם את הסצנה, ובקר שמסומן „קבוע” נשאר במקומו בשלב הזה.

לניסוי

תרגול · בחרו

מה הופך רשימת הוראות לאלגוריתם?

לניסוי

תרגול · חשבו

בשורה יש 8 בלוקים. במעבר הראשון של מיון בועות משווים כל בלוק עם השכן שמימינו, משמאל לימין. כמה השוואות יש במעבר הזה?

לניסוי

תרגול · בחרו

מיון בועות סיים את המעבר הראשון שלו. מה בטוח נכון עכשיו?

לניסוי

תרגול · חשבו

אלגוריתם הוא מיון בועות, גודל הרשימה 8 וסדר התחלתי הפוך: הבלוק הגבוה ביותר ראשון. כמה השוואות יעשה המיון כולו?

לניסוי

תרגול · חשבו

באותה שורה הפוכה של 8 בלוקים, כמה החלפות יעשה מיון בועות?

לניסוי

תרגול · נבאו, ואז הסתכלו

סדר התחלתי יתחלף לכמעט ממוין: 2 1 3 4 5 6 7 8, רק שני הבלוקים הראשונים הפוכים. מיון בועות עוצר אחרי מעבר שלא החליף כלום. כמה השוואות יעשה?