×
科目A|アルゴリズムとプログラミング
線形探索(Linear Search / リニアサーチ)は、データ構造(配列や連結リストなど)の先頭から末尾に向かって、順番に目的の値と一致するデータを比較していく最も基本的な探索アルゴリズムです。この手法の最大の利点は、探索対象のデータが事前にソート(並べ替え)されている必要がない点、およびデータ構造がランダムアクセスをサポートしていない(連結リストのようにポインタで順に辿るしかない)場合でも適用できるという汎用性の高さにあります。実装も非常にシンプルで容易です。しかし、データの個数をN個としたとき、目的のデータが最悪の場合(末尾にある、または存在しない場合)にはN回の比較が必要となるため、最大ステップ数はNに比例します(時間計算量はO(N))。データ数が10倍、100倍と増えれば探索にかかる時間も10倍、100倍と増えてしまうため、大規模なデータ群に対する探索処理には適していません。

試験でのポイント