偶然发现网上一些 归并排序 的一些不同

今天在看数据库原理的时候,讲到排序算法- 归并排序,随手自己写了一下思路,再上网查,发现有点不同。主要是数组长度为奇数的情况:

归并算法采用的事分治思想,即先分,然后治。

  中间是分割两部分的地方,即分后待治。

这是跟我的思路一样的。

但是我发现有一些是:


如果数组长度是奇数的情况,那么不应该把最后一位直接单独开,而是应该把数组一分为二,再分下去,直到剩下2个,1个元素为止。

比如数组长度为11的 [5,4,1,2,3,6,7,9,8,10,11];



个人见解,不过这也是采用不同的实现方法而产生的不同而已,没什么对错。

我的实现代码:
https://github.com/guinguo/dataStruct/blob/master/src/top/guinguo/algorithm/MergeSort.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值