核心思想:从数组的第一个元素开始,逐个检查每个元素,找到就返回该元素,找不到就返回 -1

分析:

  • 时间复杂度: 最坏时间复杂度是 O(n),因为在最坏情况下需要检查每个元素
  • 空间复杂度: 空间复杂度是 O(1),因为只使用了常数空间

实现代码

function linearSearch(arr, target) {
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === target) {
            return i;
        }
    }
    return -1; // 未找到目标元素
}
 
let array = [5, 3, 8, 4, 2];
console.log(linearSearch(array, 4));  // 输出: 3
console.log(linearSearch(array, 7));  // 输出: -1