归并排序怎么写(python归并排序如何理解)
导读:说明...
说明
1 、归并排序是一种高效 、稳定的合并运算排序算法 ,它是采用分治方法的典型应用 。
2 、基本思想大致为:首先通过递归的方式将给定的数组二分为二分 ,再按大小比较进行两次大小比较排序 ,最后逐级合并完成总体的排序 。
归并排序更有效 ,它设置了n个列长 ,将数列分成小数列 ,需要logn步骤 ,每个步骤都是一个合并有序数列的过程 ,时间复杂性为O(nlogn) ,即O(n) 。
实例
importrandom defConfiationAlgorithm(str): iflen(str)<=1:#子序列 returnstr mid=(len(str)/2) left=ConfiationAlgorithm(str[:mid])#递归的切片操作 right=ConfiationAlgorithm(str[mid:len(str)]) result=[] #i,j=0,0 whilelen(left)>0andlen(right)>0: if(left[0]<=right[0]): #result.append(left[0]) result.append(left.pop(0)) #i+=1 else: #result.append(right[0]) result.append(right.pop(0)) #j+=1 if(len(left)>0): result.extend(ConfiationAlgorithm(left)) else: result.extend(ConfiationAlgorithm(right)) returnresult if__name__==__main__: a=[20,30,64,16,8,0,99,24,75,100,69] printConfiationAlgorithm(a) b=[random.randint(1,1000)foriinrange(10)] printConfiationAlgorithm(b)以上就是python归并排序的理解 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!