您现在的位置是:课程教程文章
python归并排序如何理解
2023-12-14 00:00课程教程文章 人已围观
-
python爬虫零基础入门到精通(3)
python爬虫零基础入门到精通(3)课程详情: 课程目标:学好python爬虫 课程特色:清华、微软的顶尖老师授课视频... -
Python数据分析师集训班(VIP)
Python数据分析师集训班(VIP)一、课程介绍:从零起步,一站式进阶数据分析和机器学习 企业想要在竞争激... -
python3 Appium 移动端自动化测试全方位实践
python3 Appium 移动端自动化测试全方位实践课程咨询、获取课件、技术交流直接添加博学谷微信号:bxgcourse;也可以直接加... -
Mysql+pymysql数据库python操作数据库如此的简
Mysql+pymysql数据库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基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
课程教程:python归并排序如何理解上一篇:python非绑定方法是什么
下一篇:没有了