問題 No.1855
並び替えられたデータではなく、順序がバラバラな複数のデータの中から、目的のデータが見つかるまで先頭から順に一つずつ比較していく探索アルゴリズムはどれか。
【正解の解説】
線形探索(リニアサーチ)
これは、散らかった本棚からお目当ての本を探すために、左端の本から順番に1冊ずつタイトルを確認していく作業と同じです。事前のデータ整列(ソート)が不要なので手軽ですが、データ数が増えると最後尾を探す際に時間がかかるという特徴があります。
スポンサーリンク
【その他の選択肢の解説】
二分探索(バイナリサーチ)
これは辞書で言葉を引くときに真ん中あたりを開いて「目的の言葉はもっと前か後ろか」を判断して範囲を狭める動きと同じです。データがソートされていることが絶対条件となるため、バラバラなデータに対してそのまま使うことはできません。
ハッシュ探索(ハッシュサーチ)
これは、図書館の蔵書システムで固有のバーコードや棚番号から一発で本の保管場所を特定するようなものです。先頭から順番に探す線形探索とは異なり、データ量が多くても一瞬で目的のデータにたどり着けるのが大きなメリットです。
深さ優先探索(デプスファースト)
これはダンジョンを探索する際に、一つの通路の奥の奥まで進み、行き止まったら少し引き返して別の分かれ道に進むロールプレイングゲームの動きと同じです。一列に並んだデータを探す今回の問題のアルゴリズムとは探索対象のデータ構造が異なります。