SC Workbook
科目 A-1 · 基礎理論

二分探索の比較回数

昇順に整列された 1000 個の異なるデータの中から,二分探索法によって目的のデータを探索する。探索キーと中央の要素との 1 回の比較で一致・大小を判定できるものとするとき,最大の比較回数はどれか。

  1. ア9
  2. イ10
  3. ウ500
  4. エ1000
正解と解説を見る

正解 イ

この問題の基礎知識

  • 二分探索は,整列済みのデータの中央の要素と探索キーを比較し,探索範囲を半分ずつ絞り込む方法である。データが整列されていることが前提となる。
  • 1 回の比較で一致・大小を判定する場合,k 回の比較で探索できるデータは最大 2 の k 乗−1 個であり,n 個のデータの最大比較回数は ⌊log2 n⌋+1 回となる。
  • 線形探索(逐次探索)は先頭から順に比較する方法で,最大比較回数は n 回,目的のデータが存在する場合の平均比較回数は約 n÷2 回である。二分探索の比較回数は log2 n に比例する。
ア9

9 回の比較で探索できるのは最大 2 の 9 乗−1=511 個までである。1000 個のデータでは 9 回で目的のデータに到達できない場合があるので,最大回数としては足りない。

イ10正解

二分探索では 1 回の比較ごとに探索範囲がほぼ半分になり,k 回で最大 2 の k 乗−1 個を探索できる。511<1000≦1023 なので最大比較回数は 10 回(⌊log2 1000⌋+1)である。

ウ500

500 は線形探索(逐次探索)で目的のデータが存在する場合の平均比較回数(約 n/2)に相当する。二分探索の比較回数は log2 n のオーダであり,はるかに少ない。

エ1000

1000 は線形探索で先頭から順に比較した場合の最大比較回数(n 回)である。二分探索では範囲を半分ずつ絞り込むので,最大でも 10 回で済む。

検証用の出典出典照合済み
IPA 応用情報技術者試験(レベル 4)シラバス
照合の根拠(1 件)

検算: 1 回の比較で範囲が半分になり,k 回で最大 2^k−1 個を探索できる。2^9−1=511<1000≦2^10−1=1023 なので最大 10 回(⌊log2 1000⌋+1=9+1)。線形探索の最大は n=1000 回,存在する場合の平均は (n+1)/2≒500 回。一般的な数学(対数・数え上げ)なので出典不要。

問題 ID A1-BAS-0506 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。