二分探索ビジュアライザー
ソート済み配列に対する二分探索の流れをアニメーションで再現します。目標値の入力、ステップ実行、速度調整、比較回数のリアルタイム表示、疑似コードの表示に対応。すべてブラウザ上で完結します。
Code examples
Ready-to-copy reference implementations. Free to use in your own projects and assignments.
使い方
- 1 Target(目標値)を設定します(配列は二分探索のために自動でソートされます)。
- 2 Playを押すと探索範囲が段階的に半分ずつ絞り込まれる様子を確認でき、Stepを使えば1ステップずつ進めることもできます。
- 3 Customの欄に任意の数値を入力してApplyを押すと、自動的にソートし直されます。
- 4 lo / mid / hiの範囲が縮小していく様子と、ハイライトされた疑似コードを合わせて確認しましょう。
このツールを使う理由
- 1回の比較ごとに残りの要素の半分が除外される様子を目で確認できます。
- 探索範囲が指数関数的に狭まっていく理由から、二分探索がO(log n)になる仕組みを理解できます。
- 候補から外れた要素が徐々にグレーアウトされていく範囲の広がりを観察できます。
- すべてブラウザ上で完結。登録もアップロードも不要です。
よくある質問
二分探索とは何ですか?
二分探索は、ソート済み配列の中央の要素と比較を繰り返しながら、目標値が存在しない側の半分を除外していくことで目標値を見つける探索アルゴリズムです。
二分探索の時間計算量はどれくらいですか?
平均・最悪ケースともにO(log n)です。1回の比較のたびに探索範囲が半分になるためです。目標値が最初の中央値と一致する最良ケースではO(1)になります。
二分探索にはソート済みの配列が必要ですか?
はい。二分探索はソート済みのデータに対してのみ機能します。そのため、このツールでは検索前に入力データを自動的にソートしています。未ソートのデータには線形探索を使用してください。
二分探索と線形探索の違いは何ですか?
線形探索は先頭から1つずつ要素を確認していきます(O(n))。一方、二分探索は中央の値へ直接ジャンプして範囲を半分に絞り込みます(O(log n))が、事前にデータがソートされている必要があります。
二分探索ビジュアライザー とは?
二分探索ビジュアライザーは、ソート済み配列の中央の要素と比較を繰り返しながら目標値が存在しない側の半分を除外していくことで、目標値の位置を特定する二分探索アルゴリズムの仕組みを再現するツールです。lo〜hiの範囲が徐々に狭まっていく様子と比較回数を表示し、二分探索の計算量がなぜO(log n)になるのかを視覚的に示します。
機能
ステップバイステップのアニメーション
各比較ごとに low/high の境界と中点がどのように更新されるかを確認できます。
計算量
時間計算量: O(log n)(最良 O(1))。空間計算量: 反復版で O(1)。ソート済み配列が必要です。
100%プライベート
すべてブラウザ内で実行され、何もアップロードされません。
例
Input
find 7 in [1, 3, 5, 7, 9, 11]
Output
mid=5 → mid=9 → mid=7 → found at index 3
主な用途
-
1
対数探索を理解する
範囲を半分にすることでなぜ O(log n) の検索が実現するのかを確認できます。
-
2
ソート済みデータの検索
二分探索が線形探索より優れているのはどんな場合かを学べます。
-
3
境界のオフバイワン(off-by-one)バグをデバッグ
low/high/mid がどのように動くかを見て、境界バグを回避する方法を学べます。
Zerethonの二分探索ビジュアライザーは、ソート済み配列上でアルゴリズムをブラウザ内でアニメーション表示し、対象値を中央要素と比較しながら探索範囲を繰り返し半分に絞り込みます。二分探索は O(log n) 時間で実行され(中央要素が一致した場合は最良 O(1))、追加空間は O(1) ですが、入力があらかじめソートされている必要があります。
- カテゴリ
- アルゴリズム
- 料金
- 無料
- プライバシー
- ブラウザベース
- 登録
- 不要
参考文献
- MIT OCW 6.006 — アルゴリズム入門 (CLRS) — MIT OpenCourseWare
- 二分探索アルゴリズム — Wikipedia
プライバシー
明記されない限り、データがブラウザの外に送信されることはありません。二分探索ビジュアライザー は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。
初めての方へ。Big-O 解析付きのステップバイステップ解説を読む: Searching Algorithms を学ぶ →
関連ツール
線形探索ビジュアライザー
線形探索(リニアサーチ)の動きをアニメーションで再現。ターゲット値の入力欄、ステップ実行、速度調整、リアルタイムの比較回数カウンター、疑似コード表示を備え、未ソートのデータにも対応します。すべてブラウザ上で動作します。
ツールを開くバブルソート ビジュアライザー
バブルソートの動きをアニメーションで確認できるツール。ステップ実行や速度調整、カスタム入力データ、比較・交換回数のリアルタイム表示、擬似コードの表示に対応しています。すべてブラウザ内だけで動作します。
ツールを開く挿入ソート(Insertion Sort)ビジュアライザー
挿入ソートをアニメーションで可視化。ステップ実行や速度調整、カスタム入力、比較回数・書き込み回数のリアルタイム表示、疑似コード(pseudocode)表示に対応。すべてブラウザ内で完結します。
ツールを開く選択ソート(Selection Sort)ビジュアライザー
ステップ実行、速度調整、カスタム入力、比較/交換回数のライブカウンター、擬似コードを備えたSelection Sortのアニメーション。すべてブラウザ内だけで完結します。
ツールを開くZerethon Social で作成・共有・成長しよう
無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。