二分木の可視化&走査計算
レベル順のリスト(null付き)または二分探索木への挿入順から二分木を作成して描画し、先行順・中間順・後行順・レベル順の走査結果を求めます。
高さは、最も長い根から葉までの経路の辺の数です(ノード1つの高さは0)。レベルはその経路のノード数です。
| 性質 | 答え | 意味 |
|---|---|---|
| 二分探索木 | Yes | 中間順の走査が単調増加 |
| 高さ均衡(AVL) | No | すべてのノードで部分木の高さの差が1以下 |
| 完全 | No | 最後のレベル以外はすべて満杯で、最後のレベルは左から詰められている |
| full(満) | No | すべてのノードの子が0個または2個 |
| 完全平衡(perfect) | No | fullで、すべての葉が同じ深さにある(2^レベル − 1個のノード) |
| 内部ノード数 | 5 | 子を1つ以上持つノード |
木の演習問題やコーディング面接では、二分木を、nullを含むレベル順のリスト[1, 2, 3, null, 4]として与えるか、値を1つずつ二分探索木に挿入する形で説明します。このツールは、どちらの形式からでも木を作成して描画し、先行順・中間順・後行順・レベル順の走査結果とともに、高さ、葉の数、そしてBST・平衡・完全・full・perfectかどうかを示します。BSTに値を挿入・削除して結果を見ることもできます。
使い方
- 木の与え方を選びます。nullを含むレベル順のリスト、またはBSTに挿入する値です。
- 値をカンマか空白で区切って入力します。
- 必要なら、値を挿入または削除します(二分探索木のみ)。
- 走査結果、図、性質の表を確認します。
計算式
先行順 = 根、左、右 · 中間順 = 左、根、右 · 後行順 = 左、右、根 · レベル順 = 幅優先、左から右
レベル順のリストでは、各ノードが次の2つの要素を左右の子として受け取り、LeetCodeと同様にnullは存在しない子を表します。BSTへの挿入は、小さい値は左、大きい値は右へ進み、重複は読み飛ばします。子が2つあるノードの削除では、中間順の後続(または先行)をそのノードにコピーし、そのノードを削除します。値がすべて数値のときは数値として、そうでなければテキストとして比較します。高さは辺の数を数えるため、ノード1つの高さは0です。
計算例
サンプルは、Wikipediaの木の走査の記事にある木で、根はFです。先行順はF B A D C E G I H、中間順はA B C D E F G H I(整列しているのでBST)、後行順はA C E D B H I G F、レベル順はF B G A D I C E Hです。ノードは9個、葉は4個(A、C、E、H)、高さは3で、Gに左の子がないのにIが埋まっているため、完全ではありません。
よくある質問
どの走査で整列した結果が得られますか?
中間順です。ただし二分探索木の場合に限ります。それ以外の木では、中間順は左の部分木、ノード、右の部分木の順に訪問するだけです。
2つの走査から木を復元できますか?
値がすべて異なる場合、先行順または後行順と中間順があれば、木は一意に決まります。このツールでは、レベル順のリストまたはBSTの挿入順として入力してください。
完全・full・perfectの違いは何ですか?
full:すべてのノードの子が0個または2個。完全:最後のレベル以外がすべて満杯で、最後のレベルは左から詰められている。perfect:fullで、すべての葉が同じレベルにある。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/binary-tree-visualizer/
このツールを引用する
kakaoCalc. (2026, November 8). 二分木の可視化&走査計算. https://kakao.mobile/ja/tools/binary-tree-visualizer/
“二分木の可視化&走査計算.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/binary-tree-visualizer/.