您现在的位置是:课程教程文章

python归并排序如何理解

2023-12-14 00:00课程教程文章 人已围观

说明

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基础教程

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

课程教程:python归并排序如何理解

上一篇:python非绑定方法是什么

下一篇:没有了

站点信息

  • 文章统计篇文章