静态查找,顺序,折半查找代码
时间: 2024-12-19 22:11:27 浏览: 19
静态查找、顺序查找和折半查找都是常见的数据结构搜索算法。
1. **静态查找**,也称为线性查找或顺序查找,是最基础的查找方法。它从数组的第一个元素开始,逐个比较每个元素,直到找到目标值或者遍历完整个数组。如果找到,返回索引;否则,返回`-1`表示未找到。以下是Python中的简单示例:
```python
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1
```
2. **顺序查找**同上,是一种简单的查找操作,适用于小规模数据或无特定排序的数据。
3. **折半查找**(Binary Search),又称二分查找,适用于已排序的数组。它的基本思想是从中间元素开始,将数组分为两半,如果目标值小于中间元素,则在左半部分继续查找;反之,在右半部分查找。这个过程会不断缩小查找范围。以下是Python中的折半查找代码:
```python
def binary_search(sorted_arr, target):
low, high = 0, len(sorted_arr) - 1
while low <= high:
mid = (low + high) // 2
if sorted_arr[mid] < target:
low = mid + 1
elif sorted_arr[mid] > target:
high = mid - 1
else:
return mid
return -1
```
阅读全文