図のように、データが整列されていない状態でも使用でき、先頭から順に目的のデータを探していく探索手法はどれか?
- ①線形探索法(リニアサーチ)
- ②二分探索法(バイナリサーチ)
- ③ハッシュ探索法
- ④木構造探索法
答えと解説を見る
正解は「線形探索法(リニアサーチ)」。先頭から1つずつ順に比べていく探し方。
なぜ
図のデータ(7, 3, 9, 1, 5, 8)から5を探すなら、7、3、9、1、5の順に比べて5回目で見つかる。順番に全部見ていくので、データが並んでいなくても使える。その代わり、データが多いと時間がかかる。N 個のデータなら、比較回数は最大で N 回。目的の値が必ずあり、どの位置も同じ確率なら、平均は (N+1)÷2 回。
ひっかけ注意
・「二分探索法(バイナリサーチ)」…真ん中と比べて範囲を半分にする方法。データが昇順か降順に整列していないと使えない。1,000個なら最大10回。
・「ハッシュ探索法」…ハッシュ関数という計算式で格納場所を求める方法。データを入れるときにも同じ計算で場所を決めておく。衝突がなければ1回で見つかる。
・「木構造探索法」…データを木の形(親と子のつながり)に整理しておき、根から枝をたどって探す方法。前もって整理する準備が要る点が線形探索との違い。