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 判断自定义对象类型
Mar 21 Python
详解Python的Django框架中的模版继承
Jul 16 Python
Python利用IPython提高开发效率
Aug 10 Python
python3 shelve模块的详解
Jul 08 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
python中的句柄操作的方法示例
Jun 20 Python
python求质数列表的例子
Nov 24 Python
pytorch的batch normalize使用详解
Jan 15 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
python实现xml转json文件的示例代码
Dec 30 Python
Python爬虫制作翻译程序的示例代码
Feb 22 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
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
node网页分段渲染详解
2016/09/05 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
使用Python的判断语句模拟三目运算
2015/04/24 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
一百行python代码将图片转成字符画
2021/02/19 Python
创建Django项目图文实例详解
2019/06/06 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
中专生自荐信
2013/10/12 职场文书
大学生村官事迹材料
2014/01/21 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
2014离婚协议书范文
2014/09/10 职场文书
学生检讨书如何写
2014/10/30 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang