پرش به محتوا

کاربر:Aria124

از ویکی‌پدیا، دانشنامهٔ آزاد

نویسنده: آریا بشیری

الگوریتم هادر زبان برنامه نویسی پایتون زبان برنامه نویسی پایتون:

Merge Sort algorithm in python

کد مرتب سازی ادغامی در پایتون:

def mergeSort(alist):
    print("Splitting ",alist)
    if len(alist)>1:
        mid = len(alist)//2
        lefthalf = alist[:mid]
        righthalf = alist[mid:]

        mergeSort(lefthalf)
        mergeSort(righthalf)

        i=0
        j=0
        k=0
        while i < len(lefthalf) and j < len(righthalf):
            if lefthalf[i] < righthalf[j]:
                alist[k]=lefthalf[i]
                i=i+1
            else:
                alist[k]=righthalf[j]
                j=j+1
            k=k+1

        while i < len(lefthalf):
            alist[k]=lefthalf[i]
            i=i+1
            k=k+1

        while j < len(righthalf):
            alist[k]=righthalf[j]
            j=j+1
            k=k+1
    print("Merging ",alist)

alist = [54,26,93,17,77,31,44,55,20]
mergeSort(alist)
print(alist)

الگوریتم مرتب سازی ادغامی در پایتون یک الگوریتم جالب در عین حال آسان است.

کارکرد این الگوریتم به این صورت است که اعدادی با تعداد زوج یا مثلا 8 تا عدد را به صورت مساوی تقسیم میکند یعنی اول 8 عدد بعد 2 تا 4 تایی بعد 4 تا 2 تایی و در اخر هم تک به تک و در آخر هم اعداد با هم مقتایسه شده و از کوچک به بزرگ تقسیم میشوند.

تصویری از تصویر سازی ادغامی (Merge Sort)