设二叉树总节点数为 $n$,度为 0、1、2 的结点分别为 $n_0,n_1,n_2$。
① 节点数关系:$n = n_0 + n_1 + n_2$。
② 边数关系:除根外每个结点恰有一条父边,故边数 $e = n - 1$;另一方面每条边来自一个非叶子结点的“出度”,故 $e = n_1 + 2n_2$。
联立:$n_0 + n_1 + n_2 - 1 = n_1 + 2n_2 \;\Rightarrow\; n_0 - 1 = n_2 \;\Rightarrow\;$ $n_0 = n_2 + 1$。
第 $i$ 层最多 $2^{i-1}$ 个结点,故深度为 $k$ 的二叉树最多结点数为等比数列求和:
$$n_{\max} = \sum_{i=1}^{k} 2^{i-1} = 2^k - 1$$反之,若某二叉树有 $n$ 个结点,则深度 $k$ 满足 $2^{k-1} \le n < 2^k$,故 $k \ge \lfloor\log_2 n\rfloor + 1$。完全二叉树取等号。
以 $n=100$ 为例:
| 结论 | 推导要点 |
|---|---|
| $n_0 = n_2 + 1$ | 边数 $n-1 = n_1+2n_2$ |
| 深度 $\ge \lfloor\log_2 n\rfloor+1$ | 满二叉树求和 $2^k-1$ |
| 完全二叉树 $n_1\in\{0,1\}$ | 最后一层连续性 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。