关于非空二叉树中“n=n0+n1+n2=2*n2+n1+1=总度数+1“那些事

背景知识:
  • 树的结点个数=所有结点度数之和+1
  • 一个结点的度,就是指,该结点有几个孩子结点
  • 任意一棵树,结点数为n,则边的数量为n-1
关于n = n0+n1+n2 = 总度数+1 = 2n2+n1+1
  • 第一个式子 n=n0+n1+n2 很好理解。n表示树的结点个数,n0表示度为0的结点的个数,n1表示度为1的结点的个数,n2表示度为2的结点的个数。而二叉树中,结点的度数只可能为0,1,2,不可能存在度为3及以上的情况,所以结点总数n=n0+n1+n2
  • 第二个式子 n=总度数+1 也很好理解。这是树的一个性质,自然也是二叉树的性质。
  • 第三个式子 n=2n2+ n1+1 也很好理解。想象一棵二叉树作逐层计算,每次都是根据当前层的结点的度数来计算下一层的结点个数,比如当前层有一个度为2的结点和一个度为1的结点,那么它们下一层必定有2+1个结点;又比如当前层有2个度为2的结点,那么它们下一层必定有 2×2+0×1个结点。那么一棵树中,有n2个度为2的结点,就表示它们对应了2n2个孩子结点,有n1个度为1的结点,就表示它们对应了n1个孩子结点。
  • 第三个式子的第二种理解方式。度其实可以理解为结点的分支,结点度为2的意思就是该结点下面接了两个分支(也就是两条边)。二叉树的结点数=边的数量+1,度为2的结点贡献了两条边,也就是2n2度为1的结点贡献了一条边,也就是n1度为0的结点没有贡献边。所以最后加起来就是2n2+n1,即边的总数量(也是所有边的度数之和),故而结点的总数量2n2+n1

题外话:既然都很好理解,那么为什么还会有这篇博客呢?(╹▽╹)?在刚看到 “n=总度数+1=2n2+n1+1” 这个式子的时候,我总是绕不过来为什么“总度数=2n2+n1”,虽然现在大脑已经清醒了,就是总度数=n2*2+n1*1+n0*0,hhhhh,但是当时死活转不过来QAQ,可能是对于度的概念没有仔细去看,以至于看到度的时候反应不过来是什么。写完这篇博客,也加深了我对度的理解,和对这个公式的记忆(这下总不会再忘记了叭hhhhhh)。也希望对和我有同样困惑的人有所帮助,大佬们肯定是不会看到的,看到的都是未来大佬(σ゚∀゚)σ~,欢迎评论区补充。

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值