二叉树相关的一些知识及计算题

本人正在学习的过程中,若有不足或者错误,希望能够指出

希望我写的这些,能够帮到看到这篇文章的你

涉及到的知识:

1、二叉树的深度(好多资料都喜欢设为k),也就是层数;

2、任意一棵树的总的节点数等于总分支数+1;

3、叶子节点,也可以称为末级节点(即最底层的节点,度为0,度的值也就是分支数);

4、一个深度为k的满二叉树的总结点数为2^k – 1(满二叉树指除叶子节点外每一个节点都有两个分支,即只有度为2和度为0的节点);

5、深度为k的完全二叉树,最少有2^(k -1 )个节点,最多有2^k – 1个节点(即满二叉树,是特殊的完全二叉树)。

计算题:

1、一颗二叉树第六层(即深度为6)的节点树最多为?

答:二叉树每层的节点数最多为2^(k -1 );

    一般问最多,直接考虑为满二叉树,所以第六层为2^5 = 32;

2、某二叉树中度为2的节点有18个,则该二叉树中有多少个叶子节点?

答:首先需要知道两个公式:

总节点个数=总分支数+1

总结点个数=度为2的节点数+度为1的节点数+度为0的节点数

然后就可以列等式了(数学真的是很厉害)

度为2的,分支数为节点数*2;度为1的,分支数为节点数*1;度为0的,分支数为节点数*0;

设度为2、1、0的节点数为n2、n1、n0,那么有n2 + n1 +n0 = n2 * 2 + n1 * 1 + n0 * 0 + 1

也就是一个公式n0 = n2 + 1,直接就出来了

结果:n0=19;

3、设一颗完全二叉树共有199个节点,那么该二叉树共有多少个分支节点?

答:以第二题的节点进行假设:

分支节点数 = n2 + n1,也就是总节点数n - 叶子总节点数n0;

进行一个假设,这个完全二叉树深度为k,也就是前k-1层为满二叉树,那么有:

2^(k-1) – 1 < 199

这个k值怎么取应该不用我再细说,得到k=8;所以前7层的总的节点数为2^7 – 1 =127;

那么最后一层的叶子数为:总结点数 - 前7层的叶子总数 = 199 - 127 = 72;

第7层肯定是有叶子节点的(不然就是满二叉树了),第七层的叶子数 = 第七层的叶子数 - 度为2以及度为1的节点数 = 2^7 – 72/2 = 28;

所以这个完全二叉树的总叶子节点数为:28 + 72 = 100;

依据开头的公式,分支节点数 = 总节点数 - 叶子总节点数  = 199 - 100 = 99;

4、在深度为7的二叉树中,最多有多少个叶子节点?

答:先说答案,最多为满二叉树,也就是2^(7-1) = 64;

5、设一颗完全二叉树共有127个节点,那么该二叉树是满二叉树吗?

答:还是先设深度为k,那么假设它为满二叉树,看能否计算出k值(记住k可是整数啊);

有公式2^k – 1  = 127 ,得k = 7;

说明肯定是满二叉树。

6、具有53个节点的完全二叉树的深度为?

答:惯例,设深度为k;

一般提到完全二叉树,先考虑前k – 1层,因为前k – 1层肯定是满二叉树,根据公式

2^(k-1) – 1 < 53

取最大的一个k值即可,得k=6

7、设一颗完全二叉树共有700个节点,则在该二叉树中共有多少个叶子节点?

答:来来来,国际惯例,设深度k

聪明的你,有没有发现其实和第三题算是一个题(一个是求分支节点,一个叶子节点,合起来不就是总节点数么)

我就直接列公式了:2^(k -1) – 1 < 700

取最大的一个k值,得k = 10 

就能够得到第10层的节点数也就是一部分叶子节点(因为第9层还有叶子节点)为:700 - 2^9 + 1 = 189;

第9层的叶子节点 = 第9层节点总数 –  第9层度为2的节点和度为1的节点数  = 2^(9 – 1 ) – 188/2 -1 = 161;

所以这个二叉树中的总叶子节点数为:161 + 189 = 350 

公式(上面的题要是都了解了,下满的公式也就不重要了,不然可能会让你混乱):

这里先设值,二叉树的深度为k,二叉树的节点总数为n,度为2、1、0的节点数为n2、n1、n0,第k层的节点数nk

二叉树的节点总数n = n2 + n1 + n0,n0 = n2 + 1

总节点个数n = 总分支个数 + 1 = n2 * 2 + n1 * 1 + n0 * 0 + 1

二叉树为满二叉树:节点总数n = 2^k – 1,第k层的节点数nk = 2^(k – 1 )

    第一次写,题目是自己在网上找的,但分析是自己分析的;有点乱,后续会把它精简,毕竟有一个从繁到简的过程;

    分析的不知是否正确,若有错误,希望能够给我留言,我会及时改正的。

    原文作者:神圣星火
    原文地址: https://www.jianshu.com/p/388e53c39785
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞