【发布时间】:2014-10-23 15:32:19
【问题描述】:
我正在阅读二进制搜索...我知道查找中间值的传统方法就像
mid=(hi+lo)/2
但我也看到,为了避免溢出,中间值是这样计算的
mid=lo+(hi-lo)/2
但是为什么?我找不到真正的原因..有人可以举个例子吗? 它与其他问题不同,因为其他问题没有我想要的答案...
【问题讨论】:
-
原因在你的问题中,避免溢出。
-
这个问题是题外话,因为它是一个带问号的答案。
-
我没有得到任何示例..我想要示例..
-
假设 hi 和 lo 是指针(或 C++ 中的迭代器)。两个指针之和没有意义。两个指针的区别是,它是一个整数。向指针添加整数也很有意义。
标签: c++ algorithm binary-search