二叉树-节点分析
通过问题了解:
问题一:
某二叉树中度为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
知识只有共享才能传播,才能推崇出新的知识,才能学到更多,这里写的每一篇文字/博客,基本都是从网上查询了一下资料然后记录下来,也有些是原滋原味搬了过来,也有时加了一些自己的想法