Python排序搜索基本算法之归并排序实例分析
2024-10-01 07:38:47
Python排序搜索基本算法之归并排序实例分析
本文实例讲述了Python排序搜索基本算法之归并排序。分享给大家供大家参考,具体如下:
归并排序最令人兴奋的特点是:不论输入是什么样的,它对N个元素的序列排序所用时间与NlogN成正比。代码如下:
# coding:utf-8
defmergesort(seq):
iflen(seq)<=1:
returnseq
mid=int(len(seq)/2)
left=mergesort(seq[:mid])
right=mergesort(seq[mid:])
returnmerge(left,right)
defmerge(left,right):
result=[]
i,j=0,0
whilei
ifleft[i]<=right[j]:
result.append(left[i])
i
=1
=1
else:
result.append(right[j])
j
=1
=1
result =left[i:]
result =right[j:]
returnresult
if__name__=='__main__':
print("脚本之家测试结果:")
seq=[4,5,7,9,7,5,1,0,7,-2,3,-99,6]
print(mergesort(seq))
运行结果:
最新文章
- 酷酷的CSS3三角形运用
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 角色权限的配置页面改进优化
- 两道关于JS的小考题(闭包与中间件)
- Oracle Hang Manager
- 如何配置Flash Media Live Encoder (FMLE)从而使用Azure直播服务
- OpenJudge/Poj 1316 Self Numbers
- WinForm小小应用
- Linux 文件内容转码
- HDU 1228 A + B 浙江大学研究生冠军
- C++中的基本数据类型
- WCF和ASP.NET Web API在应用上的选择
- MS SQL计算最大公约数和最小公倍数函数
- Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
- C# Winform控件对透明图片重叠时导致图片不透明的解决方法(转)
- vue路由的配置
- 微信小程序:wx.navigateBack页面返回传参
- lavarel模板引擎blade学习
- android 开发第三库
- MVC各层应该要实现的代码
- 使用Google的CDN JQuery库
热门文章
- 数据库——Oracle(7)
- maven的配置和eclipse maven插件安装
- 如何保存ActionMailbox inbound HTML email和关于ActionText与ActiveStorage的附加
- 2019.09.24 Device doesn&#39;t support wireless sync
- DevExpress Blazor组件全新来袭!增强Data Grid、TreeView API
- BZOJ 4003 / Luogu P3261 [JLOI2015]城池攻占 (左偏树)
- 【原】涉及数据库的单元测试-JTeser
- 数位dp入门 HDU 2089 HDU 3555
- TensorFlow使用记录 (十): Pretraining
- vue整合adminLTE