רכישת כרטיסים

היופי בהמחשת תהליכי מיון נתונים

צילום: Quick-sort with Hungarian folk dance

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

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

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

ברכותיי לאוניברסיטת ספיינטיה אשר בטרנסילבניה שברומניה שטרחו לייצר המחשה כה מקסימה.

אם אינכם בקיאים בעקרונות המיון השונים פשוט צפו בשקידה בכל אחד מהריקודים.
היופי בתהליכי המיון מתחיל בעובדה שכולם מבוססים על פעולה פשוטה אשר חוזרת על עצמה באופן רקורסיבי (שחוזר על עצמו) עד אשר הרשימה ממוינת. תהליכי המיון נבדלים זה בזה בעיקר בזמן הנדרש למיין את הערכים.

Quick Sort – מיון מהיר

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

1. בחר תא כלשהו ברשימה שישמש כציר. במקרה זה נבחר התא הראשון אך זה יכול להיות כל תא אחר.

2. השווה את הציר לכל יתר התאים ברשימה ומקם את תא הציר בהתאם לערכו. אם תא קטן בערכו מזה של הציר הוא ימוקם בצד שמאל אחרת ימוקם בצד ימין. אם ערכיהם היחסיים לא תואמים את המיקום היחסי זה לזה יש להחליף ביניהם.
באמצעות השוואה זו תא הציר ממוקם בסוף ההשוואה במיקומו הנכון ברשימה לכשתמוין בשלמותה. ותא ציר זה מחלק את הרשימה לשתי רשימות קטנות יותר. מימין רשימה של כל הערכים הגדולים מתא הציר ובשמאל כל אלה הקטנים ממנו.

3. המשך את התהליך המתואר לעיל עבור כל אחת מתת-הרשימות שנוצרו.

Selection Sort – מיון בחירה

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

1. סרוק את הרשימה מתחילתה כדי למצוא את הערך המינימאלי ומקם ערך זה כתא הראשון ברשימה.
תהליך זה נעשה על ידי השוואת התא הראשון לשני ואם השני קטן ממנו אז יש להחליף ביניהם ולהשוות את הערך החדש בתא הראשון (הקטן יותר) לתא השלישי וכן הלאה.

2. חזור על תהליך זה עבור הרשימה המתחילה מהתא הבא.

אלגוריתם זה איטי ביותר וזו הסיבה שמהירות הקליפ הוגברה.

Insert Sort – מיון הכנסה

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

1. התא הראשון הוא בחזקת רשימה ממוינת.

2. ניקח את התא הבא ונכניס אותו לתוך הרשימה הממוינת הנמצאת לשמאלו של התא במיקומו המתאים (על ידי השוואתו לתאים הקיימים ברשימה הממונינת).

3. חוזרים על שלב 2 עד אשר מגיעים לסוף הרשימה.

את יתר צורות המיון והריקודים שנוצרו עבורם ניתן למצוא בפוסט "The Beauty of Sort Algorithms"  בבלוג CreativITy
 של עופר שפיגל.