- 注册时间
- 2008-8-30
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 560
- 在线时间
- 小时
|
发表于 2008-12-15 23:51:17
|
显示全部楼层
你信不信,就算没有你那个+1和-1我还是能够保证算法的正确性...
其实我一开始就想说了
有时候我们为了保险起见会加上一堆的判断来锁定尽可能准确的锁定区间
但是有时候这种锁定是没必要同时浪费精力的
那个+1和-1也是
以前我研究快排的时候总是想尽可能的确定排序范围,以为这样可以提升算法性能
但是测试就发现并没有实质性的效果,反而多余的判断消耗了不少时间
while(high-low>1)
{
mid = (low + high) / 2;
if(......)
high=mid;
else
low=mid;
}
其实只要这样写,最后的结果一定会落在low或high对应项上,如果没有那就是不存在... |
|