本篇文章中根节点在第1层
文章目录
一. 树的高度和深度,节点的高度和深度的定义:
-
树的高度(Height of a Tree):
树的高度是从根节点到叶子节点的最长路径上的边数。树的高度是树中所有节点的高度中的最大值。
-
树的深度(Depth of a Tree):
树的深度与树的高度通常是同一个概念,即树的高度。
-
节点的高度(Height of a Node):
一个节点的高度是从该节点到其最深叶子节点的最长路径上的边数。叶子节点的高度是 0。
-
节点的深度(Depth of a Node):
一个节点的深度是从根节点到该节点的路径上的边数。根节点的深度是 0。
二. 树的高度和深度,节点的高度和深度的区别:
假设我们有如下的二叉树:
层数
A ------------> 1
/ \
B C ------------> 2
/ \
D E ------------> 3
/
F ------------> 4
-
1. 树高(Tree Height)和 树的深度(Depth of a Tree)
树高是从根节点
A到最深的叶子节点的最长路径的长度。路径的长度是指经过的边数。-
从根节点
A到叶子节点F的路径是:A -> B -> E -> F。这条路径有 3 条边。 -
因此,树高和树的深度都是3。
-
-
2. 节点的高度(Height of a Node)
节点的高度是指从该节点到其最深的叶子节点的最长路径的长度。我们计算各节点的高度:
- 节点
F是叶子节点,它的高度是 0(因为没有子节点)。 - 节点
E的高度是从E到F的路径长度,即 1。 - 节点
D是叶子节点,它的高度是 0(没有子节点)。 - 节点
B的高度是从B到其最深的叶子节点(即F)的路径长度,即B -> E -> F,总共 2 条边。 - 节点
C是叶子节点,它的高度是 0(没有子节点)。 - 节点
A的高度是从A到其最深的叶子节点(即F)的路径长度,即A -> B -> E -> F,总共 3 条边。
所以:
-
节点
A的高度是 3。 -
节点
B的高度是 2。 -
节点
E的高度是 1。 -
节点
c,D,F的高度是 0。(因为它们都是叶子节点)
- 节点
-
3. 节点的深度(Depth of a Node)
节点的深度是指从根节点
A到该节点的路径长度,即经过的边数。-
节点
A是根节点,它的深度是 0。 -
节点
B的深度是 1(从A到B)。 -
节点
C的深度是 1(从A到C)。 -
节点
D的深度是 2(从A到B到D)。 -
节点
E的深度是 2(从A到B到E)。 -
节点
F的深度是 3(从A到B到E到F)。
-
-
4.总结
-
树高是从根节点到最深的叶子节点的最长路径的长度。在这个例子中是 3。
-
节点的高度是从该节点到其最深的叶子节点的最长路径的长度。例如,节点
A的高度是 3,节点B的高度是 2。 -
节点的深度是从根节点到该节点的路径长度。例如,节点
A的深度是 0,节点B的深度是 1。
-


2351

被折叠的 条评论
为什么被折叠?



