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

归并排序

时间:2017-09-11 10:15:05      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:height   .com   有序   它的   算法   生成   技术分享   排名   排序算法   

一、归并的思想

考试结束后要将全省的学生成绩进行排名,可以将每个班级,每个学校,每个市,每个省的排名合并后再排名就可以得到最终的全省排名。这就用到了归并的思想。

看看下面这张图,就能很清晰的说明归并的思想了。红色框中就是无序的序列,通过两两合并后再合并,最终获得了一个有序的数组。

技术分享

注意观察它的形状,很像一颗倒置的完全二叉树。通常涉及到完全二叉树结构的排序,效率一般都不会低。

二、归并排序算法

归并排序就是利用归并的思想实现的排序方法。它的原理是:

假设初始序列有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2的有序子序列(n为奇数时,存在一个长度为1的子序列),再两两归并,如此反复,直至得到一个长度为n的有序序列为止。这种排序方法成为多个2路归并排序排序

 

归并排序

标签:height   .com   有序   它的   算法   生成   技术分享   排名   排序算法   

原文地址:http://www.cnblogs.com/rouqinglangzi/p/7503098.html

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