二分查找

二分查找

1296 阅读

二分查找是一种在有序数组中通过不断取中间元素并与目标值比较、收缩左右边界实现的高效搜索算法。基本思路是设定左、右边界 L、R,循环计算中点 M=(L+R)/2(或使用 M=(L+R)>>>1 防止溢出),比较 A[M] 与目标 T,若相等返回索引,若 A[M]<T 则 L=M+1,若 A[M]>T 则 R=M-1,直至 L>R 表示未找到。文中给出 Java 实现并演示排序后查找示例,同时说明了 (L+R)/2 在极端情况下可能导致整数溢出,推荐使用位右移或分拆加法的写法来避免。