码迷,mamicode.com
首页 > 编程语言 > 详细

Python 归并排序(递归、非递归、自然合并排序)

时间:2019-04-25 14:29:57      阅读:438      评论:0      收藏:0      [点我收藏+]

标签:排序   应用   分治算法   span   组合   建立   pytho   技术   排序算法   

归并排序仍然是利用完全二叉树实现,它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。

基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列,再两两归并,最终得到一个长度为n的有序序列为止,这称为2路归并排序。

归并排序是典型的分治算法,它不断地将某个数组分为两个部分,分别对左子数组与右子数组进行排序,然后将两个数组合并为新的有序数组。

技术图片

 

Python 归并排序(递归、非递归、自然合并排序)

标签:排序   应用   分治算法   span   组合   建立   pytho   技术   排序算法   

原文地址:https://www.cnblogs.com/Hamge/p/10762690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!