線形探索(Linear Search / リニアサーチ)とは、データ群の中から目的のデータを探し出すための、最もシンプルで原始的な検索アルゴリズムです。配列やリストの端(先頭など)から順に、1つずつ目的の値と一致するかどうかを比較していきます。データが事前に並べ替えられていなくても探索できる利点がありますが、データ数が多くなると比較回数が増えて時間がかかる欠点もあります。
裏向きに並べられたトランプの山から「ハートのA」を見つけるために、左端から順に1枚ずつめくって、ハートのAが出るまで確認していく手法がこれにあたります。
# 線形探索のプログラム例
def linear_search(data_list, target):
for index, value in enumerate(data_list):
if value == target:
return index # 見つかった位置を返す
return -1 # 見つからなかった