python合并排序,Python递归排序
说明
1.归并排序是一种高效稳定的归并排序算法,是分治法的典型应用。
2.基本思路大致如下:首先用递归将给定数组分成两部分,然后根据大小比较进行两次大小比较和排序,最后通过逐步归并完成整体排序。
合并排序更有效。它设置n列的长度,把数列分成小数列,需要logn步。每一步都是一个合并有序序列的过程,时间复杂度为O(nlogn),即O(n)。
实例
随机输入
定义算法(字符串):
Len (str)=1: #子序列
returnstr
mid=(len(str)/2)
left=conflict ional gorithm(str[3360 mid])#递归切片操作
right=confinitionalgorithm(str[mid : len(str)])
结果=[]
#i,j=0,0
whilelen(左)0和len(右)0:
if(left[0]=right[0]):
#result.append(left[0])
result.append(left.pop(0))
#i=1
else:
#result.append(右[0])
result.append(右弹出(0))
#j=1
if(len(left)0):
result . extend(configuration algorithm(left))
else:
result . extend(confionalgorithm(right))
返回结果
if__name__==__main__:
a=[20,30,64,16,8,0,99,24,75,100,69]
打印配置算法m(a)
b=[对于iinrange(10),random.randint(1,1000)]
printitional Gorithm(b)以上是对python合并和排序的理解。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。