アルゴリズム・プログラミング定義問題

二分探索(binary search)を適用するための前提条件として正しいものはどれか。

A.データがリスト構造(連結リスト)に格納されていること
✗ 二分探索は配列など添字でランダムアクセス可能な構造に向いており、連結リストは適していません。
B.データが昇順または降順にソート済みであること← 正解
✓ 正解です。二分探索は中央値との大小比較を繰り返すため、データが事前にソートされていることが必須条件です。
C.データの件数が2のべき乗であること
✗ データ件数が2のべき乗である必要はありません。任意の件数で適用可能です。
D.データが重複のない一意の値のみで構成されていること
✗ 重複値があっても二分探索は適用できます。ただし見つかる位置は実装によって異なります。

基本情報技術者試験 の問題一覧