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 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
python运行其他程序的实现方法
Jul 14 Python
Python编程实现蚁群算法详解
Nov 13 Python
python实现感知器算法详解
Dec 19 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
python+django+rest框架配置创建方法
Aug 31 Python
使用python模拟高斯分布例子
Dec 09 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
python中pdb模块实例用法
Jan 15 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
递归列出所有文件和目录
2006/10/09 PHP
php 进度条实现代码
2009/03/10 PHP
20个PHP常用类库小结
2011/09/11 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php发送与接收流文件的方法
2015/02/11 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
python任务调度实例分析
2015/05/19 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
使用python爬取B站千万级数据
2018/06/08 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Python实现快速排序的方法详解
2019/10/25 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
Delphi笔试题
2016/11/14 面试题
消防战士优秀事迹材料
2014/02/13 职场文书
项目合作意向书范本
2014/04/01 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
工会文体活动总结
2015/05/07 职场文书
反邪教学习心得体会
2016/01/15 职场文书
PyTorch的Debug指南
2021/05/07 Python
MySQL 自定义变量的概念及特点
2021/05/13 MySQL