大家好!今天给大家分享一个非常经典的算法——二分查找(Binary Search) 📊。它是一种高效查找方法,尤其适合在有序数组中快速定位目标值。二分查找的核心思想是通过不断缩小搜索范围,将时间复杂度降低到O(log n),比线性查找快得多哦!👏
首先,让我们来看看它的基本流程:
1️⃣ 确定数组的左右边界;
2️⃣ 找到中间位置并比较中间值与目标值;
3️⃣ 如果相等则返回索引,否则调整边界继续查找;
4️⃣ 重复步骤直到找到或区间为空。
下面用一个简单的C语言代码来演示👇👇👇:
```c
int binarySearch(int arr[], int l, int r, int x) {
while (l <= r) {
int m = l + (r - l) / 2;
if (arr[m] == x) return m;
if (arr[m] < x) l = m + 1;
else r = m - 1;
}
return -1; // 未找到返回-1
}
```
是不是很简单?😊 二分查找虽然看似简单,但在实际开发中却能大大提升效率。如果你对代码还有疑问,欢迎留言讨论!💬
最后,记得点赞收藏哦~💖