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字符编码
Nov 12 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
详解Python下ftp上传文件linux服务器
Jun 21 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
Python面向对象之Web静态服务器
Sep 03 Python
python NumPy ndarray二维数组 按照行列求平均实例
Nov 26 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python能做哪些生活有趣的事情
Sep 09 Python
Python获取android设备cpu和内存占用情况
Nov 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
Session保存到数据库的php类分享
2011/10/24 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
基于jQuery的动态表格插件
2011/03/28 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
浅谈关于iview表单验证的问题
2018/09/29 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Python3 读取Word文件方式
2020/02/13 Python
python中setuptools的作用是什么
2020/06/19 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
品质管理部岗位职责范文
2014/03/01 职场文书
服务理念口号
2014/06/11 职场文书
运动会标语
2014/06/21 职场文书
丧事答谢词
2015/01/05 职场文书
2015年行政人事工作总结
2015/05/21 职场文书