כיצד ליישם מיזוג מיון בפייתון?



להלן מדריך פשוט וקל ללמוד כיצד להשתמש ב- Merge Sort וללמוד על האלגוריתם והיישום שלו ב- Python

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

מהו מיון מיזוג בפייתון?

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





סוגי סטים בג'אווה

גישת החלוקה והכיבוש

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

הנה ויזואליזציה של מיון מיזוג כדי לנקות את התמונה עבורך

מערך קלט = [3,1,4,1,5,9,2,6,5,4]



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

יישום מיון מיזוג בפייתון

def mergeSort (nlist): הדפס ('פיצול', nlist) אם len (nlist)> 1: mid = len (nlist) // 2 lefthalf = nlist [: mid] righthalf = nlist [mid:] mergeSort (lefthalf) mergeSort (righthalf) i = j = k = 0 ואילו i

תְפוּקָה:

$ python main.py
('פיצול', [3, 1, 4, 1, 5, 9, 2, 6, 5, 4])
('פיצול', [3, 1, 4, 1, 5])
('פיצול', [3, 1])
('פיצול', [3])
('מיזוג', [3])
('פיצול', [1])
('מיזוג', [1])
('מיזוג', [1, 3])
('פיצול', [4, 1, 5])
('פיצול', [4])
('מיזוג', [4])
('פיצול', [1, 5])
('פיצול', [1])
('מיזוג', [1])
('פיצול', [5])
('מיזוג', [5])
('מיזוג', [1, 5])
('מיזוג', [1, 4, 5])
('מיזוג', [1, 1, 3, 4, 5])
('פיצול', [9, 2, 6, 5, 4])
('פיצול', [9, 2])
('פיצול', [9])
('מיזוג', [9])
('פיצול', [2])
('מיזוג', [2])
('מיזוג', [2, 9])
('פיצול', [6, 5, 4])
('פיצול', [6])
('מיזוג', [6])
('פיצול', [5, 4])
('פיצול', [5])
('מיזוג', [5])
('פיצול', [4])
('מיזוג', [4])
('מיזוג', [4, 5])
('מיזוג', [4, 5, 6])
('מיזוג', [2, 4, 5, 6, 9])
('מיזוג', [1, 1, 2, 3, 4, 4, 5, 5, 6, 9])
[1, 1, 2, 3, 4, 4, 5, 5, 6, 9]



כיצד לחבר את מסד הנתונים של

תרשים זרימה ליישום מיזוג מיון

יתרונות ושימוש במיון מיזוג

רוב האלגוריתמים האחרים מתפקדים רע עם מבני נתונים רציפים כמו קבצים ורשימות מקושרות. במבנים אלה גישה לאלמנט אקראי אורכת זמן ליניארי, ולא זמן קבוע קבוע. ואופי מיון המיזוג מקל ומהיר על מבני נתונים כאלה.אחת התכונות הטובות ביותר במיון מיזוג היא מספר ההשוואות הנמוך שלה. זה הופך את מספר O (n * log (n)) למספר השוואות, אך הגורם הקבוע הוא טוב בהשוואה ל- Quicksort, מה שהופך אותו למועיל כאשר פונקציית השוואה היא פעולה איטית.כמו כן, גישת החלוקה והכיבוש של מיון מיזוג הופכת אותה לנוחה לעיבוד מקביל.

בכך אנו מגיעים לסוף הבלוג הזה בנושא 'כיצד ליישם מיזוג מיון בפייתון'. אני מקווה שהתוכן הוסיף ערך כלשהו לידע שלך בפייתון. כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול להירשם לשידור חי עם תמיכה 24/7 וגישה לכל החיים.