python 数据结构之归并排序
2021-05-16 09:29
标签:col ali app back pen 分治算法 pad 原来 结果 归并排序就是简单的将数组进行一分组,我们可以理解为简单的分治算法,然后分别取两个中的数组进行排序和重组,当然在python中是列表,我在编写代码时犯了两个致命错误,将原来的列表输出,忘记将排序后的列表重组。 python 数据结构之归并排序 标签:col ali app back pen 分治算法 pad 原来 结果 原文地址:https://www.cnblogs.com/kk328/p/9749703.htmldef merger_sort(alist):
if len(alist) :
return alist
num=int(len(alist)/2)
left=merger_sort(alist[:num])
right=merger_sort(alist[num:]) #分前后两个顺序
return merger(left,right)
def merger(left,right):
l,r=0,0
result = [] # 存放结果
while l and r len(right):
if left[l]right[r]:
result.append(left[l])
l+=1
else :
result.append(right[r])
r+=1
result+=left[l:]
result+=right[r:]
return result
alist=[0,1,45,86,9,3,10,4,2]
b=merger_sort(alist)
print(b)
上一篇:Javascript 模块化指北
下一篇:java语法基础报告