Keito

© 2024 Keito

技術ブログとポートフォリオ

線形探索アルゴリズム

配列の先頭から順番に要素をチェックして目標値を探すシンプルな探索アルゴリズムを学ぼう

O(n)
時間計算量
O(1)
空間計算量
初級
難易度
探索
カテゴリ

🔧 実行設定

配列:
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
探索対象:
5
🔍

アルゴリズムを実行してください

左側の設定パネルから条件を設定し、「線形探索実行」ボタンを押してください

💻 実装例(JavaScript)

function linearSearch(arr, target) {
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === target) {
            return i; // 見つかった位置を返す
        }
    }
    return -1; // 見つからない場合
}

// 使用例
const array = [3, 1, 4, 1, 5, 9, 2, 6];
const index = linearSearch(array, 5);
console.log(index); // 4

// 全ての一致位置を取得する版
function linearSearchAll(arr, target) {
    const indices = [];
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === target) {
            indices.push(i);
        }
    }
    return indices;
}

const allIndices = linearSearchAll([1, 3, 1, 5, 1], 1);
console.log(allIndices); // [0, 2, 4]