数据结构(树的性质)

1、在一棵度数为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是   

假设树的根节点的度为n,则每增加一个度为n的节点,叶节点树增加n-1,故答案为4+19*3+10*2+1*1+10*0=82。

2、若有一棵完全二叉树有384个叶子结点,且最后一层有奇数个结点,则该二叉树的结点个数是

假设最后一层的叶节点数为a,倒数第二层的叶节点数为b,则a+b=384。而如果将最后一层补充为满二叉树则应该有2^k个节点且2^k>384,因为最后一层有奇数个节点,故1+a+2b=512.。解得a=257,b=127。由于最后一层补满有512个节点,则第一层到倒数第二层的节点总数和应该为511.。故总数为257+511=768。

3、任何一棵二叉树,叶子节点或者和分支节点一样多,或者比分支节点多一个。(√)

可采用数学归纳法,当树只有一个节点时,叶子节点为1,而分支节点数为0;当树只有一个根节点并连接一个左孩子时,叶子节点数为1而分支节点数为0;当树为一个根节点并连接一个左孩子和一个右孩子时,叶节点数为2,分支节点数为1。故当一棵完全二叉树的叶节点数与分支节点数相同时,给其中某一个可以增加孩子的分支节点增加一个孩子,则叶节点数增加1,而分支节点数不变,若给一个叶节点增加两个孩子(当叶节点与分支节点相同时,叶节点只增加一个孩子就不是完全二叉树了),则叶节点数加1,分支节点不变。

方法2:完全二叉树中n0=n2+n1,n1=0或1。

你可能感兴趣的:(数据结构,算法)