מיון הוא אלגוריתם לסידור נתונים לפי ערך מפתח. דוגמה פשוטה היא סידור רשימת אנשים לפי שם משפחה.
מיון יכול להיות עולה (הערך הקטן ביותר ראשון) או יורד (הגדול ביותר ראשון).
מיון חשוב בעיבוד מידע ובמסדי נתונים. במסדי נתונים שדות חשובים מושמים באינדקס, כלומר מבנה נתונים שממיין ומאיץ חיפושים. כך ניתן למצוא ולחבר נתונים בקלות רבה יותר.
כאשר הנתונים ממיונים, פעולות מסוימות נעשות מהר יותר. למשל, ניתן למצוא מינימום ומקסימום ביעילות רבה, וחיפוש אחר איבר נעשה בעזרת חיפוש בינארי, שיטה שחולקת את הטווח לחלקים ומצמצמת במהירות את המקום לבחינה.
אלגוריתמים רבים משווים בין איברים כדי למיין. לכל אלגוריתם כזה יש עלות זמן וזיכרון שונה, ותלויה בפשטות המימוש ובפעולות הבסיסיות המותרות.
באופן כללי, אלגוריתמי מיון שבונים את ההחלטה על השוואות בלבד דורשים מספר השוואות שנמנע מלהיות קטן יותר מ־גבול מתמטי על בסיס כל הסדרים האפשריים של n איברים. ההסבר משתמש ב"עץ השוואות" ובעובדה שיש n! דרכים לסדר n איברים, והגובה של העץ מקושר לגודל n כפול לוגריתם n.
יש אלגוריתמי מיון רבים. קבוצה אחת מבוססת על השוואות. קבוצה אחרת מנצלת ידע נוסף על הקלט, כמו טווח הערכים. במיונים כאלה (כמו מיון מנייה, מיון בסלים ומיון בסיס) אפשר להגיע לזמן ריצה שגדל בקו ישר עם מספר הפריטים, כלומר זמן ליניארי, במקום זמן שגדל כמו n·log n.
מיון הוא דרך לסדר דברים לפי מפתח. למשל: לסדר אנשים לפי שם משפחה.
יש שני סוגים: מיון עולה, שבו הקטן ביותר ראשון, ומיון יורד, שבו הגדול ראשון.
מיון עוזר לעבוד עם מסדי נתונים. מסד נתונים שומר רשימות מסודרות שנקראות אינדקס. אינדקס הוא רשימה שמקלה על מציאת פריטים.
כשנתונים מסודרים, אפשר למצוא דברים מהר יותר. למשל, מוצאים את הערך הקטן או הגדול במהירות. חיפוש בינארי הוא שיטה שמחלקת את הרשימה לחצאים ועוזרת למצוא פריטים מהר יותר.
יש אלגוריתמים שמשווים בין פריטים. כדי לדעת בדיוק איך למיין, צריך הרבה השוואות. יש הוכחה מתמטית שקובעת שמיון כזה דורש מספר השוואות גדול מאוד ברוב המקרים.
יש גם מיונים מיוחדים שמנצלים מידע על הקלט. אם יודעים למשל שהמספרים קטנים, אפשר למיין הרבה יותר מהר. דוגמאות הן מיון מנייה, מיון בסלים ומיון בסיס.
תגובות גולשים