מה זה אלגוריתם, דרך שיטה אחת למיין: מיון בועות משווה שכנים ומחליף אותם, מעבר אחר מעבר. סופרים השוואות והחלפות, ורואים איך השורה שמתחילים ממנה משנה את העבודה.
שלב 1 מתוך 6 · צעדים מדויקים
שלב 1 מתוך 6
צעדים מדויקים
אלגוריתם הוא רשימה סופית של צעדים מדויקים שפותרת בעיה: כל צעד ברור כל כך שאפשר לבצע אותו בלי לחשוב, והצעדים תמיד נגמרים בתשובה הנכונה. מתכון הוא כמעט אלגוריתם; חילוק ארוך הוא אלגוריתם לגמרי. מחשב לא יודע לעשות שום דבר אחר: כל תוכנית היא אלגוריתם שכתבו בשפה שהוא מבין.
הבעיה כאן היא מיון: לסדר שורה של בלוקים מהנמוך לגבוה. באלגוריתם בחרתם מיון בועות, והכלל שלו קצר:
- השוו שני שכנים.
- אם השמאלי גבוה יותר, החליפו ביניהם.
- עברו לזוג הבא, עד סוף השורה. זה מעבר אחד.
- חזרו על המעברים עד שמעבר שלם עובר בלי אף החלפה.
צפו בבלוקים: סוגר כחול מסמן השוואה של זוג שכבר בסדר, וסוגר כתום מסמן החלפה. הלוחית מתחת למדף סופרת את ההשוואות ואת ההחלפות.
שלב 2 מתוך 6
מעבר אחד
כדי להשוות אלגוריתמים בלי שעון, סופרים את הצעדים הבסיסיים שלהם. במיון, הצעד הבסיסי הוא השוואה של שני בלוקים: כמה השוואות עושה האלגוריתם עד שהשורה ממוינת.
שלב 3 מתוך 6
הגבוה ביותר נסחף לקצה
השם “מיון בועות” בא ממה שקורה בכל מעבר: הבלוק הגבוה ביותר צף ימינה, כמו בועה שעולה במים. צפו במעבר הראשון וחשבו מה הוא מבטיח.
שלב 4 מתוך 6
כל הזוגות
סדר התחלתי עומד על הפוך: הבלוקים מסודרים מהגבוה לנמוך, וכל מעבר יצטרך להחליף. כל מעבר קצר באחד מקודמו, כי הבלוק שצף לקצה כבר במקומו.
הסכום הוא מספר הזוגות שאפשר ליצור מ־ בלוקים:
שלב 5 מתוך 6
לספור החלפות
השוואה היא רק חצי מהעבודה; חלק מההשוואות מסתיימות בהחלפה. קראו לשני בלוקים שהגבוה מביניהם עומד משמאל זוג הפוך. החלפה של שני שכנים מתקנת בדיוק את הזוג שלהם, ולא משנה אף זוג אחר.
שלב 6 מתוך 6
לעצור מוקדם
מיון בועות לא ממשיך לעבוד סתם: אחרי מעבר שלם בלי אף החלפה, השורה ממוינת, והוא עוצר. לכן כמה הוא עובד תלוי לא רק בגודל הרשימה אלא גם בשורה שממנה הוא מתחיל.
הגרסה האינטראקטיבית נטענת…
הגרסה האינטראקטיבית נטענת…
כל שלב מכין לכם את הסצנה, ובקר שמסומן „קבוע” נשאר במקומו בשלב הזה.
תרגול · בחרו
מה הופך רשימת הוראות לאלגוריתם?
תרגול · בחרו
מה הופך רשימת הוראות לאלגוריתם?
תרגול · חשבו
בשורה יש 8 בלוקים. במעבר הראשון של מיון בועות משווים כל בלוק עם השכן שמימינו, משמאל לימין. כמה השוואות יש במעבר הזה?
תרגול · חשבו
בשורה יש 8 בלוקים. במעבר הראשון של מיון בועות משווים כל בלוק עם השכן שמימינו, משמאל לימין. כמה השוואות יש במעבר הזה?
תרגול · בחרו
מיון בועות סיים את המעבר הראשון שלו. מה בטוח נכון עכשיו?
תרגול · בחרו
מיון בועות סיים את המעבר הראשון שלו. מה בטוח נכון עכשיו?
תרגול · חשבו
אלגוריתם הוא מיון בועות, גודל הרשימה 8 וסדר התחלתי הפוך: הבלוק הגבוה ביותר ראשון. כמה השוואות יעשה המיון כולו?
תרגול · חשבו
אלגוריתם הוא מיון בועות, גודל הרשימה 8 וסדר התחלתי הפוך: הבלוק הגבוה ביותר ראשון. כמה השוואות יעשה המיון כולו?
תרגול · חשבו
באותה שורה הפוכה של 8 בלוקים, כמה החלפות יעשה מיון בועות?
תרגול · חשבו
באותה שורה הפוכה של 8 בלוקים, כמה החלפות יעשה מיון בועות?
תרגול · נבאו, ואז הסתכלו
סדר התחלתי יתחלף לכמעט ממוין: 2 1 3 4 5 6 7 8, רק שני הבלוקים הראשונים הפוכים. מיון בועות עוצר אחרי מעבר שלא החליף כלום. כמה השוואות יעשה?
תרגול · נבאו, ואז הסתכלו
סדר התחלתי יתחלף לכמעט ממוין: 2 1 3 4 5 6 7 8, רק שני הבלוקים הראשונים הפוכים. מיון בועות עוצר אחרי מעבר שלא החליף כלום. כמה השוואות יעשה?
השיעור הושלם. עניתם על כל שאלות התרגול בו.
