二叉树可视化与遍历计算器
根据层序列表(含 null)或二叉搜索树的插入顺序构建二叉树并绘制出来,同时给出前序、中序、后序和层序遍历结果。
高度是最长的根到叶路径上的边数(单个节点的高度为 0);层数是该路径上的节点数。
| 性质 | 结果 | 含义 |
|---|---|---|
| 二叉搜索树 | Yes | 中序遍历严格递增 |
| 高度平衡(AVL) | No | 每个节点的左右子树高度差不超过 1 |
| 完全 | No | 除最后一层外每层都是满的,最后一层从左向右填充 |
| 满二叉(full) | No | 每个节点有 0 个或 2 个孩子 |
| 完美 | No | 满二叉且所有叶子在同一深度(2^层数 − 1 个节点) |
| 内部节点数 | 5 | 至少有一个孩子的节点 |
树的练习题和编程面试通常用两种方式描述二叉树:一种是含 null 的层序列表,如 [1, 2, 3, null, 4];另一种是把值逐个插入二叉搜索树。这个工具可以用任意一种形式构建树并画出来,列出前序、中序、后序和层序遍历,以及高度、叶子数,并判断它是否是二叉搜索树、平衡树、完全二叉树、满二叉树或完美二叉树。你还可以在二叉搜索树中插入、删除值并查看结果。
使用方法
- 选择树的给定方式:含 null 的层序列表,或依次插入二叉搜索树的值。
- 输入值,用逗号或空格分隔。
- 可选:插入或删除值(仅限二叉搜索树)。
- 查看遍历结果、图形和性质表。
计算公式
前序 = 根、左、右 · 中序 = 左、根、右 · 后序 = 左、右、根 · 层序 = 广度优先,从左到右
在层序列表中,每个节点依次取接下来的两项作为左、右孩子,和 LeetCode 一样,null 表示没有该孩子。二叉搜索树插入时,较小的值向左,较大的值向右,重复值会被跳过。删除有两个孩子的节点时,会把中序后继(或前驱)复制到该节点,再删除那个后继节点。当所有值都是数字时按数字比较,否则按文本比较。高度按边数计算,所以单个节点的高度为 0。
示例
示例是维基百科“树的遍历”一文中的那棵树,根为 F。前序为 F B A D C E G I H,中序为 A B C D E F G H I(已排序,因此是二叉搜索树),后序为 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 已被填入,所以它不是完全二叉树。
常见问题
哪种遍历会得到有序的输出?
中序遍历——但只限于二叉搜索树。对其他树来说,中序遍历只是按左子树、节点、右子树的顺序访问。
能根据两种遍历还原一棵树吗?
如果值互不相同,前序或后序再加上中序可以唯一确定一棵树。在这里,请用层序列表或二叉搜索树的插入顺序来输入。
完全、满和完美二叉树有什么区别?
满:每个节点有 0 个或 2 个孩子。完全:除最后一层外每层都是满的,最后一层从左向右填充。完美:满二叉树且所有叶子在同一层。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/binary-tree-visualizer/
引用此工具
kakaoCalc. (2026, November 8). 二叉树可视化与遍历计算器. https://kakao.mobile/zh/tools/binary-tree-visualizer/
“二叉树可视化与遍历计算器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/binary-tree-visualizer/.