当前位置: 首页 > 图灵资讯 > 行业资讯> python归并排序如何理解

python归并排序如何理解

来源:图灵python
时间: 2024-07-04 14:32:40

说明

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,64,16,8,0,99,24,75,100,69]
printConfiationAlgorithm(a)
b=[random.randint(1,1000)foriinrange(10)]
printConfiationAlgorithm(b)

以上是对python合并排序的理解,希望对大家有所帮助。更多Python学习指导:python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。