简介
- 顺序查找(也称为线性查找)是一种简单直观的搜索算法。
- 按照顺序逐个比较列表或数组中的元素,直到找到目标元素或搜索完整个列表。
应用场景
- 数据集比较小,无需使用复杂的算法。
- 数据集没有排序,不能使用二分查找等基于有序数据集的算法。
- 需要在数据集中查找元素的位置。
def sequential_search(arr, target):
"""
顺序查找函数Args:
arr: 待查找的数组
target: 目标元素Returns:
目标元素在数组中的位置,如果未找到则返回 -1
"""
for i in range(len(arr)):
if arr[i] == target:
return i
return -1#测试用例
# 不存在返回-1
def test_sequential_search_not_exist():
assert sequential_search([1, 3, 4, 5, 7, 8], "a") == -1
# 存在返回对应数据的索引
def test_sequential_search():
assert sequential_search([1, 3, 4, 5, 7, 8], 1) == 0