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 基础学习第二弹 类属性和实例属性
Aug 27 Python
python中使用mysql数据库详细介绍
Mar 27 Python
Python中的sort()方法使用基础教程
Jan 08 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
对python3新增的byte类型详解
Dec 04 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python实现超市商品销售管理系统
Nov 22 Python
python画环形图的方法
Mar 25 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 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
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
清空上传控件input file的值
2010/07/03 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
js省市联动效果完整实例代码
2015/12/09 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
爬虫利器Puppeteer实战
2019/01/09 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python base64编码解码实例
2015/06/21 Python
python实现二叉查找树实例代码
2018/02/08 Python
python实现感知器算法(批处理)
2019/01/18 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
在什么时候需要使用"常引用"
2015/12/31 面试题
北京振戎融通Java面试题
2015/09/03 面试题
安全大检查实施方案
2014/02/22 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
小学生常见病防治方案
2014/06/06 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
诚信考试主题班会
2015/08/17 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
python实现简单的井字棋
2021/05/26 Python