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 相关文章推荐
Flask解决跨域的问题示例代码
Feb 12 Python
django 修改server端口号的方法
May 14 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
Python中求对数方法总结
Mar 10 Python
python 如何快速复制序列
Sep 07 Python
Django跨域请求原理及实现代码
Nov 14 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 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抓即时股票信息
2006/10/09 PHP
js一组验证函数
2008/12/20 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
express.js中间件说明详解
2019/03/19 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python转码问题的解决方法
2008/10/07 Python
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Python各种扩展名区别点整理
2020/02/27 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
二年级体育教学反思
2014/01/15 职场文书
安全事故检讨书
2014/01/18 职场文书
工厂标语大全
2014/10/06 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB