SHUOJ——归并排序——计算思维J题

 

归并排序(Mergesort)

      归并排序以O(NlogN)的复杂度运行,是使用比较次数最优解以及基于递归算法的很好的实例。

 

        算法原理:

                               算法的基本操作是合并两个已经排序的表,然后按顺序将两个表中的元素进行比较厚放入第三个表中。 基本的合并算法是取两个输入数组A和B,一个输出数组C,以及三个指针pA,pB,pC. 他们都始于对应数组的开始端。 A[pA]和B[pb]中的较小者放入C的下一个位置,pc以及较小者的指针向前推进一格。 当有其中一格输入表输完时,则将另外一个输入表剩余元素输入到输出表的位置中。

                       显然,合并两个已经排序的表是线性的,因为最多只能进行N-1次比较(N为元素总数)。 注意点:每次比较都只放一个元素,但最后一次比较完是放两个元素

                       因此归并排序很容易描述为递归操作。如果N=1 ,则只需要一格元素排序,否则,就以递归的方式将前半部分和后半部分各自排序。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值