二叉树——度以及节点数的计算

1.入度与出度

线1
线2
线3
线4
root
B1
C1
B11
B12

线1中靠近root节点的为出度,靠近B1子节点的为入度,即一根线两端就是入度和出度。
则可以理解二叉树中的结论:二叉树中出度等于入度
此外:

  1. 二叉树中,对于一个节点,出度的取值情况有0、1、2。取0时即为叶子结点
  2. 二叉树中,对于一个节点,入度的取值情况有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=n11+n22
二叉树中总结点数为: 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 N1
但实际上根节点的入度为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=N11=n0+n1+n21

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 n11+n22=n0+n1+n21
则,
n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1
描述为:二叉树中出度为0的结点个数=出度为2的结点个数+1

3. 题目举例

  1. https://www.nowcoder.com/questionTerminal/1622319f44d046f787d6dc948d0583f3
  2. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数?
    答案: 11 个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值