数据结构 树 思考题2

题目1:有一颗二叉树,其两个儿子的结点个数为15个,一个儿子的结点个数为32个,问该二叉树的叶结点个数是多少?

首先存在关系 n0 = n2 + 1 ,即0个儿子的叶结点个数等于2个儿子的结点个数+1

证明:我们从总体上可以得到 n0 + n1 + n2 - 1 = 总边的个数(即结点数-1)

总边的个数又 = n0*0 + n1*1 + n2*2 

所以上式成立。n0 = 15+1 = 16

题目2:如果一个完全二叉树最底下一层为第六层(根为第一层)且该层共有8个叶结点,那么该完全二叉树共有多少个结点?

因为是完全二叉树,所以只有最下面的一层有缺失,故结点个数为:1+2^1+2^2+2^3+2^4+8 = 39

题目3:若有一二叉树的总结点数为98,只有一个儿子的结点数为48,则该树的叶结点数是多少?

即根据题目1,求n0的个数。

由上面总结点个数为 n0 + n1 + n2 ,我们可以得到 98 = n0 + n1 + n2   且n1 = 48

同时n0 = n2 + 1

两个式子联立,得到 n0 = 51/2 因为结点数不可能是小数,所以不存在这样的树。

 

题目4:设深度为d(只有一个根结点时,d为1)的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为2d-1

考虑结点最少的情况:

数据结构 树 思考题2

可以看到,该树每一级都只有一个节点有两个子节点。深度为d,即除了第一级,其余每一级都有2个节点,故总共2d-1个节点。