מיון סלים

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

Bucket sort 1.png

Bucket sort 2.png

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

האלגוריתם

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

חישוב הסיבוכיות

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

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

קישורים חיצוניים

P Computer-science.svg ערך זה הוא קצרמר בנושא מדעי המחשב. אתם מוזמנים לתרום למכלול ולהרחיב אותו.
Logo hamichlol 3.png
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0