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 29 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
python中zip()方法应用实例分析
Apr 16 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Django 2.0版本的新特性抢先看!
Jan 05 Python
Python实现的从右到左字符串替换方法示例
Jul 06 Python
Python设计模式之外观模式实例详解
Jan 17 Python
Python并发:多线程与多进程的详解
Jan 24 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
Python深度学习之Pytorch初步使用
May 20 Python
Python pandas求方差和标准差的方法实例
Aug 04 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
关于IIS php调用com组件的权限问题
2012/01/11 PHP
学习php中的正则表达式
2014/08/17 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
python中sleep函数用法实例分析
2015/04/29 Python
python求解水仙花数的方法
2015/05/11 Python
python实现整数的二进制循环移位
2019/03/08 Python
【python】matplotlib动态显示详解
2019/04/11 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
python微信公众号开发简单流程实现
2020/03/09 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
详解pandas映射与数据转换
2021/01/22 Python
销售自荐信
2013/10/22 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
幼儿运动会邀请函
2014/01/17 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
体育委员竞选稿
2015/11/21 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
k8s部署redis cluster集群的实现
2021/06/24 Redis