メインコンテンツへスキップ
Z

二分探索木ビジュアライザー

挿入・検索・削除をアニメーションで確認できるインタラクティブな二分探索木ツール。ステップ操作と疑似コード表示付きで、ブラウザ上ですぐに動かせます。

無料 登録不要 クライアントサイド プライバシーに配慮 Updated

/

疑似コード

Run an operation to see its steps.

使い方

  1. 1 数値を入力してInsertを押すと木に追加され、適切な位置を探す過程を確認できます。
  2. 2 Searchで値までの探索経路をたどるか、Deleteで値を削除します。
  3. 3 Randomでランダムな値を挿入したり、Clearで最初からやり直したりできます。
  4. 4 各操作をステップごとに前後に進めながら、対応する疑似コードのハイライトを確認できます。

このツールを使う理由

  • 「小さい値は左へ、大きい値は右へ」というBSTの基本ルールが実際に動く様子を確認できます。
  • 葉ノードの削除、子が1つのノードの削除、子が2つのノードの削除(中順後続ノード - in-order successor - を使用)という3つの削除パターンをすべて観察できます。
  • バランスの取れたBSTがO(log n)の検索計算量を実現する理由と、偏った木ではO(n)まで劣化してしまう理由を理解できます。
  • すべてブラウザ上で完結し、登録もファイルのアップロードも不要です。

よくある質問

二分探索木とは何ですか?

二分探索木(BST)とは、各ノードの左の部分木にはそのノードより小さい値が、右の部分木にはより大きい値が格納される二分木のことです。そのため中順(in-order)で走査すると値が昇順に並びます。

BSTの各操作の時間計算量はどれくらいですか?

挿入・検索・削除はいずれも木の高さhに対してO(h)の計算量になります。木がバランスしていればO(log n)ですが、最悪の場合(連結リストのように偏った木)はO(n)まで悪化します。

子が2つあるノードを削除する場合はどう処理されますか?

そのノードの値は中順後続ノード(in-order successor、つまり右の部分木の中で最小の値)の値に置き換えられ、その後この後続ノード自体が削除されます。これによりBSTの順序性が保たれます。

BSTを常にバランスの取れた状態に保つにはどうすればよいですか?

AVL木や赤黒木(red-black tree)のような自己平衡型のバリエーションを使用してください。これらは挿入・削除のたびに回転操作を行い、木の高さをO(log n)程度に維持します。

二分探索木ビジュアライザー とは?

二分探索木ビジュアライザー(Binary Search Tree Visualizer)は、BST(左の部分木にはより小さい値、右の部分木にはより大きい値が入る二分木)に対する挿入・検索・削除の動作をアニメーションで確認できるインタラクティブなツールです。各操作でたどる経路を表示し、ノード削除の3つのケースすべてを可視化します。

機能

挿入 / 検索 / 削除

キーの比較によって木を下っていく各操作をアニメーションで表示します。

計算量

各操作はO(h): 平均O(log n)、最悪O(n)(不均衡の場合)。空間計算量はO(n)。自己平衡化はしません。

100%プライベート

すべてブラウザ内で実行され、何もアップロードされません。

Input

insert 5, 3, 8, 1

Output

5 (root); 3 ← left of 5; 8 → right of 5; 1 ← left of 3

主な用途

  1. 1

    木構造の操作を学ぶ

    挿入と検索がBSTの順序性にどのように従うかを確認できます。

  2. 2

    バランスがなぜ重要か

    ソート済みデータの挿入によって木がO(n)まで劣化する様子を観察し、AVL木や赤黒木の必要性を理解します。

  3. 3

    中順(in-order)走査

    中順走査によってキーがソート順に得られる仕組みを理解します。

概要

Zerethonの二分探索木(BST)ビジュアライザーは、ブラウザ上でBSTへの挿入・検索・削除の各操作をアニメーション表示します。各ノードの左部分木にはより小さいキーが、右部分木にはより大きいキーが保持されます。操作にかかる時間はO(h)(hは木の高さ)で、バランスの取れた木ではO(log n)ですが、最悪の場合(連結リストのような縮退木)ではO(n)になります。空間計算量はO(n)です。このBSTは自己平衡化しません。

カテゴリ
アルゴリズム
料金
無料
プライバシー
ブラウザベース
登録
不要

参考文献

プライバシー

明記されない限り、データがブラウザの外に送信されることはありません。二分探索木ビジュアライザー は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。

初めての方へ。Big-O 解析付きのステップバイステップ解説を読む: Data Structures を学ぶ →

関連ツール

Zerethon Social で作成・共有・成長しよう

無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。

Zerethon を無料で試す