二叉树的性质——节点数、度数、叶子节点数的关系

对于任意一棵二叉树,如果2度的节点数有n2个,则叶子数n0必定为n2+1(n0=n2+1)

(1) 我们假设有二叉树的枝有B个,如果从下往上思考,可以看做是每个节点都有一个枝与之对应,那么可以有B = n - 1成立,之所以有减一是因为根节点没有枝与之相连

(2) 如果从上往下考虑,那么枝子的总数就等于度为1的节点乘1,度为2的节点乘2,依次类推,所以这里有B = n1 * 1 + n2 * 2

(3) 将以上两个式子合并可以得:

注意这里n1, n2为度数,后边对应的数字为相应度数对应的节点数,n 为总节点数
将上式子化简可以得到:
n = n1*1 + n2 * 2 + 1
因为
n = n1 + n2 + n0(这里的n0为叶子数)
所以可以得到:

因此这里不失一般性:
如果知道了一棵树每个度数对应的节点数,就可以知道这棵树的叶子数
如果知道了总节点数和每种度数的个数,也可以知道叶子数,
所以这里节点数、度数、叶子数可以相互转换
(4) 巩固一下来看个题:

根据上边公式可以列出下边的等式关系:

结果为:82

任意二叉树节点数、度数与叶子数的关系相关推荐

  1. 如何计算给定二叉树中的叶节点数?

    叶子节点的特征是无左孩子也无右孩子,还要注意与树只有一个节点的情况区分. 一.程序计算 int leaf(bitree t) {if(!t) return 0; //空树,无叶子 else if(!t ...

  2. 2020\Simulation_1\3.叶节点数

    [问题描述] 一棵包含有2019个结点的二叉树,最多包含多少个叶结点? [答案提交] 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容 ...

  3. 二叉树(前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数)

    Description 已知二叉树的一个按前序遍历输入的字符序列,如abc,de,g,f, (其中,表示空结点).请建立二叉树,并输出建立二叉树的前序遍历序列.中序遍历序列.后序遍历序列.层次遍历序列 ...

  4. easyui的tree获取父节点_力扣 1519——子数中标签相同的节点数

    本题主要在于对树这种数据结构的考察,以及深度优先遍历的使用,优化时可以采取空间换时间的策略. 原题 给你一棵树(即,一个连通的无环无向图),这棵树由编号从 0 到 n - 1 的 n 个节点组成,且恰 ...

  5. 已知一棵完全二叉树的节点数n,求叶节点数

    题目如题 假设完全二叉树中,度为0的节点(即叶节点)数目为n0,度为1的节点数为n1,度为2的数目为n2,总数为n 首先我们得知道两个公式 结点总数满足: n = n0 + n1 + n2 出度.入度 ...

  6. 数据结构:二叉树的创建,打印前中后序遍历,节点个数,叶子节点数,销毁,第K层中节点的个数,查找值为x的节点

    二叉树遍历:按照某种特定的规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次.(采用递归思想) 先序遍历:先遍历根节点,再遍历根节点的左子树,最后遍历根节点的右子树. 中序遍历:先遍历左 ...

  7. 数据结构:二叉树的深度与叶子节点数

    输入二叉树的先序序列,计算并输出该二叉树的深度与叶子节点个数.请将代码填写完整. 例如,下面二叉树对应的先序序列为"AB#D##C##". A /    \ B      C \ ...

  8. 二叉树中最大/最小深度与叶子数

    首先我们需要了解什么是"树的深度"和"树的叶子". 树的叶子:一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称"叶子". 叶子是指度 ...

  9. 3-3-完全二叉树结点数

    题目描述: 给定一棵完全二叉树的头节点head,返回这棵树的节点个数. 如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法. 1 /* 2 思路: 其实也是一种二分的思路. 3 因为是完全 ...

最新文章

  1. 最小二乘法和梯度下降法有哪些区别?
  2. 活在未来,需要知道了解过去
  3. golang 字符串md5 生成方式
  4. 【CodeForces - 1197C】Array Splitting(水题)
  5. 怎么样批量修改html里的内容,批量修改替换多个Word文档中同一内容的方法
  6. echarts里面的参数解释_Echarts适用小技巧:适用参数详细说明及示例-TS文件
  7. 钳工下料软件_钳工。 更开心 更具生产力。 远程工作。
  8. 【java】Java 原子性、有序性与Happens-Before
  9. 鱼池正式宣布支持EIP-1559
  10. 开源代码MyCommons
  11. flightgear通过UDP协议输出飞行态势数据以及利用C++接收flightgear数据
  12. 中国范围的经纬度及部分城市经纬度
  13. 如何打开EPUB文件
  14. “辶”“廴”偏旁的字五笔拆字
  15. 文科类文献综述怎么写?
  16. 起始2021-01-15
  17. 影视寒冬下的影视作品“质检报告”——电视剧篇
  18. shell小记:dirname
  19. 使用头文件winbase.h的错误
  20. android投屏小米电视软件,小米投屏神器安卓版

热门文章

  1. 关闭shell_exec php,使用shell_exec从PHP执行shell命令
  2. Java中的循环链表
  3. 情人节表白-Andreamosaic多照片拼人像——和我宝贝的一周年纪念日
  4. 运算放大器的原理/MOSFET工作原理/三极管工作原理/光耦工作原理
  5. 教你摆脱“送礼焦虑症”
  6. 空调主板插座设计特点
  7. Linux mknod命令详解
  8. jar中没有主清单属性 bug解决方法
  9. CMDB、bk-cmdb、Adminset 开源cmdb运维平台
  10. zookeeper知识点扫盲