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 相关文章推荐
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
Python unittest模块用法实例分析
May 25 Python
Flask之flask-script模块使用
Jul 26 Python
python 求一个列表中所有元素的乘积实例
Jun 11 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
Jul 07 Python
python实现邮件发送功能
Aug 10 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Django实现网页分页功能
Oct 31 Python
在django中form的label和verbose name的区别说明
May 20 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 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和ACCESS写聊天室(一)
2006/10/09 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP微信支付实例解析
2016/07/22 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中正则表达式的详细教程
2015/04/30 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python读取LMDB中图像的方法
2018/07/02 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
下载官网python并安装的步骤详解
2019/10/12 Python
python 制作网站小说下载器
2021/02/20 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
新员工试用期自我鉴定
2014/04/17 职场文书
补充协议书范本
2014/04/23 职场文书
星级党支部申报材料
2014/05/31 职场文书
关爱老人标语
2014/06/21 职场文书
商家认证委托书格式
2014/10/16 职场文书
奖励申请报告范文
2015/05/15 职场文书
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL