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

 更新时间:2017年12月08日 12:05:16   作者:littlethunder  
这篇文章主要介绍了Python排序搜索基本算法之归并排序,简单描述了归并排序的特点,并结合实例形式分析了Python实现归并排序的具体操作技巧,需要的朋友可以参考下

本文实例讲述了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))

运行结果:

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

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

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

  • Python 代码在函数中运行得更快的原因解析

    Python 代码在函数中运行得更快的原因解析

    我们知道,python 是一种解释型语言,它会逐行读取并执行代码,小伙伴们可能会有这个疑问:为什么在函数中运行的 Python 代码速度更快,今天这篇文章将会解答大家心中的疑惑
    2023-09-09
  • Python实现计算文件MD5和SHA1的方法示例

    Python实现计算文件MD5和SHA1的方法示例

    这篇文章主要介绍了Python实现计算文件MD5和SHA1的方法,结合具体实例形式分析了Python针对文件MD5及SHA1的计算方法,需要的朋友可以参考下
    2019-06-06
  • python第三方库pygame的使用详解

    python第三方库pygame的使用详解

    这篇文章主要介绍了python第三方库pygame的使用,pygame一般用来做游戏,在这需要注意在使用pygame提供的功能之前,需要调用init方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python io.BytesIO简介及示例代码

    python io.BytesIO简介及示例代码

    io.BytesIO 是 Python 内置的一个 I/O 类,用于在内存中读写二进制数据,这篇文章主要介绍了python io.BytesIO简要介绍及示例,需要的朋友可以参考下
    2023-05-05
  • 使用Pandas对数据进行筛选和排序的实现

    使用Pandas对数据进行筛选和排序的实现

    这篇文章主要介绍了使用Pandas对数据进行筛选和排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python实点云分割k-means(sklearn)详解

    python实点云分割k-means(sklearn)详解

    这篇文章主要为大家详细介绍了Python实点云分割k-means,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Python中音频处理库pydub的使用教程

    Python中音频处理库pydub的使用教程

    这篇文章主要给大家介绍了关于Python中音频处理库pydub的使用教程,pydub是Python中用户处理音频文件的一个库,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 利用Python发送邮件或发带附件的邮件

    利用Python发送邮件或发带附件的邮件

    这篇文章主要介绍了如何利用Python发送邮件或发带附件的邮件,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下。
    2020-11-11
  • 浅谈Django的缓存机制

    浅谈Django的缓存机制

    这篇文章主要介绍了浅谈Django的缓存机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Effective Python bytes 与 str 的区别

    Effective Python bytes 与 str 的区别

    这篇文章主要介绍了Effective Python bytes 与 str 的区别,Python 有两种类型可以表示字符序列,下面围绕Python bytes 与 str 的相关资料展开内容,需要的朋友可以参考一下
    2021-11-11

最新评论