归并排序算法的具体比较过程

归并排序算法的具体比较过程

不分享无用的东西

题目:3,1,4,1,5,9,6,5 通过归并排序对它进行从大到小的排序 要进行多少次数组元素之间的比较

第一趟:(3,1),(4,1),(5,9),(5,6) ,元素之间共比较了4次;
第二趟:(4,3,1,1),(9,6,5,5),元素之间共比较了6次;

为什么是6次?

具体看下面

首先 Left=(3,1),Right=(4,1),temp数组用于排序好的结果,目前为空,也就是()。

用Left[0],,也就是3,和Right[0],也就是4比较(1次),看哪个大,后加入到temp,同时从大的数组中删除该元素,这样第在这里插入代码片一次比较下来,Left=(3,1),Right=(1),temp=(4);

同理,仍然用Left[0]和Right[0]比较,即3>1,将3加入temp,同时从Left中删除3,
这样第二次比较下来,Left=(1),Right=(1),temp=(4,3);
继续剩下的元素,Left[0]=1和Right[0]=1比较(第三次),得到1=1,取1加入temp,剩下的1自然就不用比较了,直接加入temp,

于是temp=(4,3,1,1),Left=(),Right=(),共进行3次比较。同理!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值