python归并排序算法过程实例讲解


Posted in Python onNovember 04, 2020

关于python的算法一直都是让我们又爱又恨,但是如果可以灵活运用起来,对我们的编写代码过程,可以大大提高效率,针对算法之一“归并排序”的灵活掌握,一起来看下吧~

归并算法——小试牛刀

实例内容:

1 个无序列表如下:

list = [23,35,12,34,54,78,76,99]

要求:使其按从小到大排序

图示思路

python归并排序算法过程实例讲解

Python 代码

python归并排序算法过程实例讲解

归并排序理解:

1.通过二分法把一个数组按照递归拆分为左右两组(至到独立元素为止)

2.按照从底层往高层的方法左右数组对比,同时对两个数组的第一个位置进行比大小,将小的放入一个空数组,然后被放入空数组的那个位置的指针往后移一个,然后继续和另外一个数组的上一个位置进行比较,以此类推。到最后任何一个数组先出栈完,就将另外i一个数组里的所有元素追加到新数组后面。

python归并排序算法过程实例讲解

示例:

def merge(a, b):
c = []
h = j = 0
while j < len(a) and h < len(b):
if a[j] < b[h]:
c.append(a[j])
j += 1
else:
c.append(b[h])
h += 1
if j == len(a):
for i in b[h:]:
c.append(i)
else:
for i in a[j:]:
c.append(i)
return c
def merge_sort(lists):
if len(lists) <= 1:
return lists
middle = len(lists)/2
left = merge_sort(lists[:middle])
right = merge_sort(lists[middle:])
return merge(left, right)
if __name__ == '__main__': 
= [4, 7, 8, 3, 5, 9]
print merge_sort(a)

到此这篇关于python归并排序算法过程实例讲解的文章就介绍到这了,更多相关python归并排序算法过程图示详解内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python内存管理分析
Apr 08 Python
python传递参数方式小结
Apr 17 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
python使用str &amp; repr转换字符串
Oct 13 Python
机器学习10大经典算法详解
Dec 07 Python
python语言元素知识点详解
May 15 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python深copy和浅copy区别对比解析
Dec 26 Python
python_mask_array的用法
Feb 18 Python
详解Python IO编程
Jul 24 Python
Python使用socket模块实现简单tcp通信
Aug 18 Python
Numpy数组的广播机制的实现
Nov 03 #Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 #Python
Python os库常用操作代码汇总
Nov 03 #Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 #Python
python import 上级目录的导入
Nov 03 #Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 #Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 #Python
You might like
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
javascript radio 联动效果
2009/03/04 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
vuex存储token示例
2019/11/11 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Python中如何引入第三方模块
2020/05/27 Python
如何用Python绘制3D柱形图
2020/09/16 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
汽车广告策划方案
2014/05/31 职场文书
美术社团活动总结
2014/06/27 职场文书
反四风问题学习心得体会
2016/01/22 职场文书