1.入度与出度
在线1
中靠近root
节点的为出度,靠近B1
子节点的为入度,即一根线两端就是入度和出度。
则可以理解二叉树中的结论:二叉树中出度等于入度
此外:
- 二叉树中,对于一个节点,出度的取值情况有0、1、2。取0时即为叶子结点
- 二叉树中,对于一个节点,入度的取值情况有0、1。取0时即为根结点
2. 各分类节点的个数关系
以节点的出度取值对二叉树中的所有节点分类,
n0:出度为0的结点总个数
n1:出度为1的结点总个数
n2:出度为2的结点总个数
则有,
二叉树中总出度为:
o
u
t
=
n
1
∗
1
+
n
2
∗
2
out=n_1*1+n_2*2
out=n1∗1+n2∗2
二叉树中总结点数为:
N
=
n
0
+
n
1
+
n
2
N=n_0+n_1+n_2
N=n0+n1+n2
2.1 计算二叉树的总入度
因为除了根节点的入度为0,二叉树其余结点的入度都为1,先假设根节点的入度也为1(注意,实际这个假设肯定不对),那么二叉树的总入度为二叉树结点总数乘以1,即
N
∗
1
N*1
N∗1
但实际上根节点的入度为0,计算时计为1,多计了1-0=1,所以要在以上计算入度的基础上减1,即最后得到二叉树的总入度为,
i
n
=
N
∗
1
−
1
=
n
0
+
n
1
+
n
2
−
1
in=N*1-1=n_0+n_1+n_2-1
in=N∗1−1=n0+n1+n2−1
2.2 关系
由1.节中二叉树中入度等于出度
可有,
o
u
t
=
i
n
out=in
out=in
即,
n
1
∗
1
+
n
2
∗
2
=
n
0
+
n
1
+
n
2
−
1
n_1*1+n_2*2=n_0+n_1+n_2-1
n1∗1+n2∗2=n0+n1+n2−1
则,
n
0
=
n
2
+
1
n_0=n_2+1
n0=n2+1
描述为:二叉树中出度为0的结点个数=出度为2的结点个数+1
3. 题目举例
- https://www.nowcoder.com/questionTerminal/1622319f44d046f787d6dc948d0583f3
- 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数?
答案: 11 个