《数据结构与算法分析-java语言描述》 -- 两道证明题,关于N节点的二叉树、空节点树、满节点树关系

证明:练习4.4:N个节点的二叉树,存在N+1个null节点

令:N = 节点个数

  • 每个非根节点,都有父节点:

令:F = (需要的)父节点个数

  • F = N-1
  • F 也可以理解为:“全部节点中,有子节点的边数”

所以:null节点数 = 2 * N - F = N + 1

证明:练习4.6:二叉树的满节点(full node)个数加一等于非空二叉树的树叶的个数

二叉树节点有三种情况

  • 没有子节点 =》 树叶 =》 令个数为 L
  • 一个子节点 =》 令个数为 A
  • 两个子节点 =》 满节点 =》 令个数为 B

总共的节点个数:N=L+A+B


证 明 : L = B + 1 \color{#ff0011}{证明:L = B + 1 } L=B+1
根据上面的证明4.4


知道有N+1个null节点
其中,一个树叶提供两个null节点,有一个子节点的节点提供一个null节点
所以,A + 2L = N + 1
所以,A = N + 1 - 2L


上面的结论A = N + 1 - 2L代入 N=L+A+B
得到: N = L + N + 1 − 2 L + B \color{#064f3f}{N = L + N + 1 - 2L + B } N=L+N+12L+B
化简之后,就是结论: L = B + 1 \color{#ff0011}{L = B + 1 } L=B+1

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值