二分查找
定义:
- 二分查找(binary search)是一种基于分治策略的高效搜索算法。
- 它利用数据的
有序性
,每轮缩小一半搜索范围
,直至找到目标元素或搜索区间为空为止。
具体操作:
- 先初始化指针 和 ,分别指向数组首元素和尾元素,代表搜索区间
- 计算中点索引 (其中 表示向下取整操作)
- 判断
nums[m]
和target
的大小关系,分为以下三种情况:- 当
nums[m] < target
时,说明target
在区间 中,因此执行 。 - 当
nums[m] > target
时,说明target
在区间 中,因此执行 。 - 当
nums[m] = target
时,说明找到target
,因此返回索引 。
- 当
- 重复2、3步骤,一直未找到元素,则搜索区间缩小为空。此时返回 。
- 注意项:由于 和 都是
int
类型,因此 可能会超出int
类型的取值范围。为了避免大数越界,我们通常采用公式 来计算中点
2025年6月15日...大约 5 分钟