کاربر: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 تایی و در اخر هم تک به تک و در آخر هم اعداد با هم مقتایسه شده و از کوچک به بزرگ تقسیم میشوند.