応用情報技術者 アルゴリズムとプログラミング

二分探索(バイナリサーチ)を行うための前提条件はどれか。

1. 対象のデータが昇順または降順に整列されていること。 ✓ 正解
2. データの個数が2のべき乗であること。
3. データがリンクリスト構造で保持されていること。
4. 全てのデータが正の整数であること。

📝 解説

二分探索(バイナリサーチ)は「整列済みデータの中央値と比較して探索範囲を半分に絞る」高速探索アルゴリズムです。辞書で単語を探すとき、真ん中のページを開いて前か後かで半分に絞り込む方法と全く同じです。1000件のデータなら最大10回の比較で見つかります(2¹⁰=1024)。計算量O(log n)は線形探索のO(n)より圧倒的に速い!ただし「データが昇順または降順に整列されていること」が必須の前提条件です。整列されていなければ使えません。誤答の「2のべき乗個数が必要」「リンクリスト構造が必要」「正の整数のみ」はどれも事実と異なります。整列済みデータへの繰り返し検索では二分探索が最適解です!

フラッシュカード形式で アルゴリズムとプログラミング を練習する

🎴 練習する

アルゴリズムとプログラミング の問題一覧・解説を見る →