アルゴリズム学習/二分探索

二分探索

二分探索は、ソート済み配列で探索範囲を半分ずつ狭めながら目的の値を見つける効率的なアルゴリズムです。

易しい探索基礎分割統治O(log n)

定義

ソート済み配列で目的の値の位置を素早く見つけるアルゴリズムです。毎回探索範囲を半分に減らすため、非常に高速です。

主な特性

  • 前提条件: 配列がソートされていること
  • 各ステップで探索範囲が半分になる
  • 100万個のデータでも約20回の比較で発見
  • 追加メモリ不要(インプレース)

活用事例

こんな場面で使われます:

📖

辞書検索

分厚い辞書で単語を探す時、中間ページを開いて前後に移動するのと同じ原理

🎮

ゲームランキング検索

数百万人のゲーマーから特定のスコアのプレイヤーを素早く検索

📚

図書館の本探し

整理された図書館で請求記号で本を探すように

主な操作

主な操作:

探索

O(log n)

配列から特定の値のインデックスを見つけます。ない場合は-1を返す。

計算量

時間計算量

最良
O(1)
平均
O(log n)
最悪
O(log n)

空間計算量

O(1)

可視化でより深く理解する

ステップごとのアニメーションとコード実行を通じて、アルゴリズムの動作を直接確認してください。

可視化を開始