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文件操作整理汇总
Oct 21 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
Python使用三种方法实现PCA算法
Dec 12 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
Python登录注册验证功能实现
Jun 18 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
12个步骤教你理解Python装饰器
Jul 01 Python
Python实现最大子序和的方法示例
Jul 05 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python读取mysql数据绘制条形图
Mar 25 Python
Pandas缺失值2种处理方式代码实例
Jun 13 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
php实现求相对时间函数
2015/06/15 PHP
10个php函数实用却不常见
2015/10/13 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
董事长职责范文
2013/11/08 职场文书
日语专业推荐信
2013/11/12 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
环保倡议书怎么写
2014/05/16 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
倡议书范文大全
2015/04/28 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL
MySQL创建管理LIST分区
2022/04/13 MySQL