מיון בסיס – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Thijs!bot (שיחה | תרומות)
מ בוט משנה: es:Ordenamiento Radix
שורה 26: שורה 26:
[[cs:Radix sort]]
[[cs:Radix sort]]
[[de:Radixsort]]
[[de:Radixsort]]
[[es:Radix sort]]
[[es:Ordenamiento Radix]]
[[fi:Kantalukulajittelu]]
[[fi:Kantalukulajittelu]]
[[fr:Tri par base]]
[[fr:Tri par base]]

גרסה מ־20:43, 24 בפברואר 2008

מיון בסיס (Radix sort) הוא אלגוריתם מיון של מספרים המסתמך על כך שמספר הספרות בייצוג המספרים חסום על ידי קבוע. (למשל: מספר הספרות בייצוג המספר 1234567 הוא 7).

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

מהלך האלגוריתם

  1. מיון כל המספרים בקבוצה ל־10 קבוצות, על פי ספרת האחדות שלהם.
  2. מיון כל המספרים מהקבוצות שהתקבלו שוב, ל־10 קבוצות, על פי ספרת העשרות של כל מספר, תוך כדי שמירה על סדר המספרים בתוך כל קבוצה, לפי המיון של השלב הקודם.
  3. המשך מיון המספרים על פי הספרה החשובה יותר (מאות, ואז אלפים, ואז עשרות אלפים וכן הלאה), תוך שמירת סדר המספרים בכל קבוצה לפי המיון של השלב הקודם לשלב הנוכחי.

דוגמת הרצה

נתונה קבוצת המספרים הבאה: {0, 1 ,42, 32, 33, 67, 103 ,27, 105, 85} כמות הספרות של כל המספרים חסומה על ידי 3, לכן נמיין 3 פעמים:

  1. על פי ספרת האחדות: {0}, {1}, {42, 32}, {33, 103}, {}, {105, 85}, {}, {67, 27}, {}, {}
  1. על פי ספרת העשרות: {0, 1, 103, 105}, {}, {27}, {32, 33}, {42}, {}, {67}, {}, {85}, {}
  2. על פי ספרת המאות: {0, 1, 27, 32, 33, 42, 67, 85}, {103, 105}, {}, {}, {}, {}, {}, {}, {}, {}

המספרים התקבלו כשהם מסודרים בסדר עולה, על ידי 3 מעברים על כל המספרים.