实现一个简单的搜索算法(如线性搜索或二分查找)代码
时间: 2024-09-06 13:02:35 浏览: 31
线性搜索是最基本的搜索算法之一,它在数据集中依次检查每个元素,直到找到所需的特定项或者遍历完所有元素。以下是一个简单的线性搜索算法的Python代码实现:
```python
def linear_search(arr, target):
for index, value in enumerate(arr):
if value == target:
return index # 返回找到元素的索引
return -1 # 如果遍历结束未找到目标元素,返回-1
# 示例使用
array = [2, 3, 4, 10, 40]
target_value = 10
# 调用线性搜索函数并打印结果
index = linear_search(array, target_value)
if index != -1:
print(f"元素 {target_value} 在数组中的索引为 {index}")
else:
print(f"元素 {target_value} 不在数组中")
```
二分查找算法则是一种效率更高的搜索算法,但它要求数据集是有序的。它通过每次将搜索范围减半来查找目标值。以下是二分查找算法的Python代码实现:
```python
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
guess = arr[mid]
if guess == target:
return mid # 返回找到元素的索引
if guess > target:
right = mid - 1
else:
left = mid + 1
return -1 # 如果遍历结束未找到目标元素,返回-1
# 示例使用
array = [1, 3, 5, 7, 9]
target_value = 5
# 调用二分搜索函数并打印结果
index = binary_search(array, target_value)
if index != -1:
print(f"元素 {target_value} 在数组中的索引为 {index}")
else:
print(f"元素 {target_value} 不在数组中")
```