作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
l = -1; u = n;
while l+1 != u
m = l + (u-l)/2;
if x[m] < t
l = m;
else
u = m;
p = u;
if p >= n || x[p] != t
p = -1;
在上面的代码中,我们假设 x[-1] < t 且 x[n] >= t 且 n >= 0。上面的代码是修改后的二分搜索,它可以返回整数数组 x[0..n-1] 中 first 出现的整数 t 而不是返回随机数一。
我的问题是这样的:
为什么上面的代码总是卡顿?谁能解释或证明?
谢谢,
最佳答案
因为在每次迭代中,l
和 u
之间的差距减半,在整数运算的约束范围内。所有(正)整数减半的序列最终都必须达到1,这是终止条件。
关于algorithm - 停止二分查找的证明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11336225/
我正在尝试编写一个程序,在名为 items 的数组中进行顺序搜索和二分搜索,该数组具有 10000 个已排序的随机 int 值。第二个名为 targets 的数组加载了 1000 个 int 值(50
当我尝试使用图表并为其编写一些代码但没有成功时,我遇到了一个问题:/!! 我想创建一些东西来获取图形数据并检查它是否:1- 连接2-二分法3-有循环4-是一棵树 所以我想知道,例如,是否可以将其写入以
我是一名优秀的程序员,十分优秀!