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中json格式数据输出的简单实现方法
Oct 31 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
python通过配置文件共享全局变量的实例
Jan 11 Python
Python使用字典的嵌套功能详解
Feb 27 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
Django中如何使用sass的方法步骤
Jul 09 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
关于tf.reverse_sequence()简述
Jan 20 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
python中元组的用法整理
Jun 15 Python
详解Python中string模块除去Str还剩下什么
Nov 30 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
PHP file_exists问题杂谈
2012/05/07 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
详解python单元测试框架unittest
2018/07/02 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
机械设计毕业生自荐信
2014/02/02 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
环境卫生标语
2014/06/09 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
医院病假条范文
2015/08/17 职场文书
担保书格式范文
2015/09/22 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL