其实我一开始就想说了
有时候我们为了保险起见会加上一堆的判断来锁定尽可能准确的锁定区间
但是有时候这种锁定是没必要同时浪费精力的
那个+1和-1也是
以前我研究快排的时候总是想尽可能的确定排序范围,以为这样可以提升算法性能
但是测试就发现并没有实质性的效果,反而多余的判断消耗了不少时间
while(high-low>1)
{
mid = (low + high) / 2;
if(......)
high=mid;
else
low=mid;
}
其实只要这样写,最后的结果一定会落在low或high对应项上,如果没有那就是不存在... 谢谢!
我只是单纯的要理解这个算法的一个实现方式,所以 绕了进去。
:)
页:
1
[2]