Python排序搜索基本算法之归并排序实例分析

作者:littlethunder 时间:2023-10-19 04:15:11 

本文实例讲述了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排序搜索基本算法之归并排序实例分析

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

希望本文所述对大家Python程序设计有所帮助。

来源:http://blog.csdn.net/littlethunder/article/details/9472301

标签:Python,算法,归并排序
0
投稿

猜你喜欢

  • python网络编程之数据传输UDP实例分析

    2022-12-07 12:42:41
  • Explain命令在优化查询中的实际应用

    2024-01-20 03:54:13
  • 学习ASP.NET八天入门:第一天

    2007-08-07 13:08:00
  • 基于PyQt5制作Excel文件数据去重小工具

    2023-10-14 05:44:58
  • Python实现向好友发送微信消息

    2021-11-11 18:33:02
  • Python中threading库实现线程锁与释放锁

    2021-11-13 10:26:49
  • 如何用Idea或者webstorm跑一个Vue项目(步骤详解)

    2022-08-20 17:06:23
  • oracle使用instr或like方法判断是否包含字符串

    2024-01-15 14:59:44
  • vue中v-model指令与.sync修饰符的区别详解

    2024-05-28 15:46:10
  • 探析Windows下将gvim8配置为Python IDE的方法

    2021-02-02 06:28:30
  • 浅谈对python中if、elif、else的误解

    2021-04-04 00:57:57
  • python抓取京东小米8手机配置信息

    2021-10-12 15:55:32
  • Oracle 启动例程 STARTUP参数说明

    2009-07-07 10:26:00
  • Python制作简易注册登录系统

    2022-08-25 14:46:28
  • 柳永法:vbs或asp采集文章时网页编码问题

    2009-02-04 10:50:00
  • mysql数据库 主从复制的配置方法

    2024-01-16 09:24:35
  • 深入理解Sql Server中的表扫描

    2024-01-27 09:05:33
  • PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)

    2023-08-09 20:32:30
  • Pandas中DataFrame的常用用法分享

    2022-08-10 01:17:49
  • MySQL8.0+版本1045错误的问题及解决办法

    2024-01-16 23:19:33
  • asp之家 网络编程 m.aspxhome.com