Linear search 逐个扫描集合中的元素,直到找到目标或到达末尾。它适用于任何列表——无论是否排序——但运行时间为 O(n)。
思想
无需假设顺序:只需逐个检查每一项。
示例
python
():
i, value (arr):
value == target:
i
-
linear_search([, , , ], )
如果重复搜索,请优先使用排序数组加二叉搜索或使用哈希集进行 O(1) 平均查询。
Linear search 是其他所有搜索算法的测量基准。
它提醒你正确的算法取决于数据:无序且很小的数据适合简单扫描;大且需要反复查询的数据适合更智能的数据结构。
了解何时 O(n) 足够好可以防止过度优化。