• 二叉树-节点分析


    通过问题了解:

     问题一:

    某二叉树中度为2的结点有18个,则该二叉树中有

    性质1:

    二叉树的终端结点(叶子结点)数等于双分支结点数加1. 假设二叉树中终端结点数为n0,单分支结点数为n1,双分支结点数为n2,二叉树中总结点数为n,因为二叉树中所有结点度数均小于或等于2,所以有:n=n0+n1+n2;另一方面,二叉树中所有结点的分支数(即度数)应等于单分支结点数加上两倍的双分支结点数,即n1+2×n2.由树的性质1,有:n=n1+2×n2+1.根据以上两个式子,我们可以得出下面这个等式成立:n0+n1+n2= n1+2×n2+1,所以n0=n2+1.

     设度为0,1和2的节点分别为x,y,z,则二叉树总结点数为S=2z+y+1或S=x+y+z,得z+1=x,即度为2的节点数比叶子节点树少1.

    性质2:

    2的结点数比叶子结点数少1,18+1=19

     问题二:

       一颗二叉树共有47个节点,其中有23个度为2的节点。假设根节点在第一层。求改二叉树的深度

     【答案】  

      6

     【解析1】  

      根据二叉树的性质,度为0的结点个数比度为2的结点多一个。所以本题中度为0的结点的个数为24。在二叉树的第k层上,最多有2k-1(k>=1)个结点。所以第一层上最多1个结点,第二层上最多2个结点,第三层上最多4个结点,第四层上最多8个结点,第5层上最多16个结点。前5层的总共结点个数等于31,而本题度为2的结点个数为23,因此第5层上只能有8个度为2的结点,即在第6层上还有16个度为0的结点。

     【解析2】

      n0=n2+1.所以n0=24,n2=23,一共47.即不存在度为1的结点,为完全二叉树。深度为k的完全二叉树结点最多有2的k次方-1个结点,故为(2^k)-1<=47,故得到【解析1】的计算方式;计算反向每层节点数应该是48》24》12》6》3》1完成。故结果为6
  • 相关阅读:
    hdu 1174
    计算几何模板
    又是一年博客记
    hdu 1225 Football Score
    与逆序数有关的
    hdu 2844 Coins
    hdu 1171 Big Event in HDU
    UVA Exponentiation
    UVA Summation of Four Primes
    Linux:设置alias永久生效
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/5310419.html
Copyright © 2020-2023  润新知