二分查找
- 1. 简述
- 朴素的二分模板
- 2. 万能模板
- 原理解释
- 查找左端点
- 查找右端点
- 查找左边界的二分模板
- 查找右边界的二分模板
1. 简述
二分查找算法是一种在有序数组中查找特定元素的算法。它通过将数组分成两部分,并重复比较目标元素与中间元素的大小关系,从而缩小搜索范围,最终找到目标元素所在的位置。
朴素的二分模板
以下是朴素二分查找算法的基本步骤:
1. 确定目标元素及其所在数组:首先,需要确定要查找的目标元素,并获取包含目标元素的有序数组。
2. 初始化指针:设置两个指针,即左指针(left)和右指针(right),分别指向数组的第一个元素和最后一个元素。
3. 循环查找:在每次循环中,执行以下步骤:
- 计算中间元素的索引:通过将左指针和右指针相加并除以2,得到中间元素的索引(mid)。
- 比较目标元素与中间元素:将目标元素与中间元素进行比较。
- 如果目标元素等于中间元素,则找到目标元素,返回其索引。
- 如果目标元素小于中间元素,则目标元素可能在左半部分数组中,将右指针(right) 更新为mid-1,缩小搜索范围。
- 如果目标元素大于中间元素,则目标元素可能在右半部分数组中,将左指针(left)更新为mid+1,缩小搜索范围。
4. 重复执行步骤3,直到找到目标元素或搜索范围为空。
2. 万能模板
原理解释
查找左端点
查找右端点
查找左边界的二分模板
查找右边界的二分模板