归并排序

来源:互联网 发布:生物多样性计算软件 编辑:程序博客网 时间:2024/05/16 13:55

                                 

                                                                       归并排序

一、归并排序的效率是仅次于快速排序的稳定的排序算法,其时间复杂度为O(nlog2n)。我们对n 个元素进行一次归并排序时,归并的次数约为log2n,每一次的两路归并排序元素的比较次数约为n-1。


二、归并排序的基本思想:

        归并排序是通过将一列数组序列中的元素看成一个一个的小序列来进行归并,直到所有的元素都被归并完成后,排序即完成,便是成功的完成了排序操作。


三、原理:

        如:我们对n 为9吧,这样更加好,如,a[9] = {1,2,5,4,3,8,6,7,9}这样的一个数组:

         原数组:

                      1       2      5     4      3      8     6    7     9

         第一次归并:

                     [1    2]    [4    5]    [3    8]    [6     7]     [9]

         第二次归并:

                     [1    2      4     5]      [3    6     7     8]     [9]

         第三次归并:

                   [1    2     3       4      5     6      7    8]     [9]   

         第四次归并:

                    [1    2     3       4      5     6      7    8      9]  

由上我们可以发现:归并的次数约为log2n,每次归并的比较次数约为n-(分的数组个数)。所以时间复杂度为O(nlog2n)

0 0