アルゴリズムとプログラミング
線形探索と二分探索の使い分けとして最も適切なものはどれか。
ア.データ量が10件以下の場合は必ず二分探索を使うべきである
イ.データが整列されていない場合は線形探索、整列済みの場合は二分探索が有効である正解
ウ.文字列データには線形探索が使えず、数値データのみに適用できる
エ.二分探索はどんな場合でも線形探索より高速である
解説
線形探索vs二分探索は「地図なし散歩vs地図あり最短ルート」みたいなもの。整列されていない街(データ)では地図(整列の前提)が役立たず、端から歩くしかない(線形探索)。でも整列済みの街なら「北か南か」を繰り返すだけで目標に一直線(二分探索)。前提条件が肝心!
なぜ イ が正解か
使い分けの核心:①線形探索:前提条件なし(整列不要)、O(n)、どんなデータにも適用可能②二分探索:必ず整列済みデータが前提、O(log n)、整列コストを考慮する必要あり。未整列データに二分探索は適用できない(「真ん中が大きいか小さいか」という判断ができない)。逆に既に整列済みなら二分探索の方が圧倒的に速い。
出典: AI生成問題(学習用)