导读 二分查找是一种高效的搜索算法,尤其适用于有序数组!🔍它的核心思想是通过不断缩小搜索范围来快速定位目标值。每次比较中间元素后,若目标...
二分查找是一种高效的搜索算法,尤其适用于有序数组!🔍它的核心思想是通过不断缩小搜索范围来快速定位目标值。每次比较中间元素后,若目标值小于中间值,则在左半部分继续查找;反之,在右半部分查找。不断重复这一过程,直到找到目标或范围为空为止。🎯
为何它如此高效?因为它的时间复杂度为O(log n),远胜于线性查找(O(n))。💡例如,对于长度为1024的数组,二分查找最多只需比较10次即可完成搜索。
下面用Python实现这一经典算法👇:
```python
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1 未找到目标值
```
简单高效,这就是二分查找的魅力所在!💡✨快来试试吧~