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 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
Django实现快速分页的方法实例
Oct 22 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
Python中的Numpy矩阵操作
Aug 12 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
pygame游戏之旅 添加游戏暂停功能
Nov 21 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
python3获取url文件大小示例代码
Sep 18 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
python性能测试工具locust的使用
Dec 28 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四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
跟老齐学Python之Import 模块
2014/10/13 Python
收集的几个Python小技巧分享
2014/11/22 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
Python 打印中文字符的三种方法
2018/08/14 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python如何判断IP地址合法性
2020/04/05 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
思想品德自我鉴定
2013/10/12 职场文书
护士专业推荐信
2013/11/02 职场文书
求职简历的自我评价
2014/01/31 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
2014年路政工作总结
2014/12/10 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
如何利用python实现Simhash算法
2022/06/28 Python