|
|
|
@ -117,7 +117,7 @@ comments: true
|
|
|
|
|
- 结点所处「层 Level」:从顶置底依次增加,根结点所处层为 1 ;
|
|
|
|
|
- 结点「度 Degree」:结点的子结点数量,二叉树中度的范围是 0, 1, 2 ;
|
|
|
|
|
- 「边 Edge」:连接两个结点的边,即结点指针;
|
|
|
|
|
- 二叉树「高度」:二叉树中根结点到最远叶结点走过边的数量;例如,有三层结点的二叉树的高度为 2 ;
|
|
|
|
|
- 二叉树「高度」:二叉树中根结点到最远叶结点走过边的数量;
|
|
|
|
|
- 结点「深度 Depth」 :根结点到该结点走过边的数量;
|
|
|
|
|
- 结点「高度 Height」:最远叶结点到该结点走过边的数量;
|
|
|
|
|
|
|
|
|
@ -125,6 +125,10 @@ comments: true
|
|
|
|
|
|
|
|
|
|
<p align="center"> Fig. 二叉树的常见术语 </p>
|
|
|
|
|
|
|
|
|
|
!!! tip "高度与深度的定义"
|
|
|
|
|
|
|
|
|
|
值得注意,我们通常将「高度」和「深度」定义为“走过边的数量”,而有些题目或教材会将其定义为“走过结点的数量”,此时高度或深度都需要 + 1 。
|
|
|
|
|
|
|
|
|
|
## 二叉树最佳和最差结构
|
|
|
|
|
|
|
|
|
|
当二叉树的每层的结点都被填满时,达到「完美二叉树」;而当所有结点都偏向一边时,二叉树退化为「链表」。
|
|
|
|
@ -133,15 +137,16 @@ comments: true
|
|
|
|
|
|
|
|
|
|
<p align="center"> Fig. 二叉树的最佳和最差结构 </p>
|
|
|
|
|
|
|
|
|
|
在最佳和最差结构下,二叉树的结点数量和高度等性质达到最大(最小)值。
|
|
|
|
|
如下表所示,在最佳和最差结构下,二叉树的叶结点数量、结点总数、高度等达到极大或极小值。
|
|
|
|
|
|
|
|
|
|
<div class="center-table" markdown>
|
|
|
|
|
|
|
|
|
|
| | 完美二叉树 | 链表 |
|
|
|
|
|
| ----------------------------- | ---------- | ---------- |
|
|
|
|
|
| 二叉树第 $i$ 层的结点数量 | $2^{i-1}$ | $1$ |
|
|
|
|
|
| 高度为 $h$ 的二叉树的结点总数 | $2^(h+1) - 1$ | $h$ |
|
|
|
|
|
| 结点总数为 $n$ 的二叉树的高度 | $\log_2 (n+1) - 1$ | $n$ |
|
|
|
|
|
| 第 $i$ 层的结点数量 | $2^{i-1}$ | $1$ |
|
|
|
|
|
| 树的高度为 $h$ 时的叶结点数量 | $2^h$ | $1$ |
|
|
|
|
|
| 树的高度为 $h$ 时的结点总数 | $2^{h+1} - 1$ | $h + 1$ |
|
|
|
|
|
| 树的结点总数为 $n$ 时的高度 | $\log_2 (n+1) - 1$ | $n - 1$ |
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|