本页面提供了关于搜索算法的习题库,旨在帮助学习者更好地理解和掌握各种搜索算法。
算法介绍
以下是一些常见的搜索算法:
- 线性搜索(Linear Search)
- 二分搜索(Binary Search)
- 深度优先搜索(Depth-First Search, DFS)
- 广度优先搜索(Breadth-First Search, BFS)
- A 搜索算法(A Search Algorithm)**
实例习题
线性搜索
题目:给定一个整数数组和一个目标值,实现线性搜索算法,返回目标值在数组中的索引。
代码示例:
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1
二分搜索
题目:给定一个已排序的整数数组和一个目标值,实现二分搜索算法,返回目标值在数组中的索引。
代码示例:
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
扩展阅读
更多关于算法的学习资料,您可以访问算法导论。
算法图解