二分查找的前提是数组已排序。每一轮看中点 mid:
- 中点正好是目标 → 完成
- 中点比目标小 → 答案一定在右半,丢掉左半
- 中点比目标大 → 答案一定在左半,丢掉右半
每一轮区间长度减半,所以最多 ⌈log₂ n⌉ 轮就能定位。
复杂度
- 时间:O(log n)
- 空间:O(1)
在动画里看什么
- L / R:当前活跃区间的左右边界
- mid:当前检查的位置(深蓝)
- 灰色:已被丢弃的部分(永远不会再看)
- 找到时整格变成暖红
查找
二分查找的前提是数组已排序。每一轮看中点 mid:
每一轮区间长度减半,所以最多 ⌈log₂ n⌉ 轮就能定位。