アルゴリズムとプログラミング
n 個の要素を持つ整列されていない配列から、線形探索(逐次探索)で特定の値を探すときの平均比較回数として最も適切なものはどれか。ただし探索する値は必ず配列中に存在するものとする。
ア.n/2 回正解
イ.n 回
ウ.log₂n 回
エ.1 回
解説
線形探索は「落し物を部屋の端から順に探す」捜索。運が良ければ1番目で見つかり、運が悪ければ最後の n 番目。平均すれば「部屋のちょうど真ん中」、つまり n/2 回で見つかるのが期待値。
なぜ ア が正解か
探索対象が配列中に必ず存在する場合、最良ケースは1回(先頭)、最悪ケースは n 回(末尾)の比較が必要。全要素が等確率で対象となると仮定すると、平均比較回数は (1+2+…+n)/n = (n+1)/2 ≈ n/2 回となる。したがって O(n) であり、平均的には n/2 回が正しい。
出典: AI生成問題(学習用)