Python排序搜索基本算法之归并排序实例分析


Posted in Python onDecember 08, 2017

本文实例讲述了Python排序搜索基本算法之归并排序。分享给大家供大家参考,具体如下:

归并排序最令人兴奋的特点是:不论输入是什么样的,它对N个元素的序列排序所用时间与NlogN成正比。代码如下:

# coding:utf-8
def mergesort(seq):
  if len(seq)<=1:
    return seq
  mid=int(len(seq)/2)
  left=mergesort(seq[:mid])
  right=mergesort(seq[mid:])
  return merge(left,right)
def merge(left,right):
  result=[]
  i,j=0,0
  while i<len(left) and j<len(right):
    if left[i]<=right[j]:
      result.append(left[i])
      i+=1
    else:
      result.append(right[j])
      j+=1
  result+=left[i:]
  result+=right[j:]
  return result
if __name__=='__main__':
  print("三水点靠木测试结果:")
  seq=[4,5,7,9,7,5,1,0,7,-2,3,-99,6]
  print(mergesort(seq))

运行结果:

Python排序搜索基本算法之归并排序实例分析

Python 相关文章推荐
Python实现二分查找与bisect模块详解
Jan 13 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
Python使用Shelve保存对象方法总结
Jan 28 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
python实现贪吃蛇双人大战
Apr 18 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
python实现批量转换图片为黑白
Jun 16 Python
Python OpenCV快速入门教程
Apr 17 Python
实例详解Python的进程,线程和协程
Mar 13 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 #Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 #Python
基于Django contrib Comments 评论模块(详解)
Dec 08 #Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 #Python
python在ubuntu中的几种安装方法(小结)
Dec 08 #Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 #Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 #Python
You might like
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python实现360皮肤按钮控件示例
2014/02/21 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python实现多线程抓取妹子图
2015/08/08 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
python程序变成软件的实操方法
2019/06/24 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
什么是数组名
2012/05/10 面试题
如何客观的进行自我评价
2013/12/17 职场文书
采购主管岗位职责
2014/02/01 职场文书
辞职信标准格式
2015/02/27 职场文书
辩论赛新闻稿
2015/07/17 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
go xorm框架的使用
2021/05/22 Golang