📅  最后修改于: 2023-12-03 15:41:14.331000             🧑  作者: Mango
线性搜索,也称为顺序搜索,是一种简单的基于比较的搜索算法。它从列表的一端开始,依次检查每个元素,直到找到目标元素或者遍历完整个列表。
线性搜索的实现非常简单,只需要遍历整个列表,比较每一个元素是否等于目标元素即可。
以下是 Python 中的一个示例实现:
def linear_search(list, target):
"""
在列表中搜索目标元素,返回其下标。如果未找到,返回 -1。
"""
for i in range(len(list)):
if list[i] == target:
return i
return -1
以下是 JavaScript 中的一个示例实现:
function linearSearch(arr, target) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) {
return i;
}
}
return -1;
}
线性搜索的时间复杂度为 O(n),其中 n 是列表中元素的数量。这是因为最坏情况下需要遍历所有元素才能确定目标元素是否存在。
由于线性搜索的时间复杂度为 O(n),因此它不适用于大规模数据的搜索。它适用于以下场景:
线性搜索虽然简单,但是适用于一些简单的场景。当列表规模较小或者搜索频率较低时,可以选择使用线性搜索算法。