二叉树习题及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数?

1根据“二叉树的第i层至多有2^(i −1)个结点;深度为k的二叉树至多有2^k − 1个结点(根结点的深度为1)”这个性质:

因为2^9-1 < 699 < 2^10-1 ,所以这个完全二叉树的深度是10,前9层是一个满二叉树,

这样的话,前九层的结点就有2^9-1=511个;而第九层的结点数是2^(9-1)=256所以第十层的叶子结点数是699-511=188个;

现在来算第九层的叶子结点个数。

由于第十层的叶子结点是从第九层延伸的,所以应该去掉第九层中还有子树的结点。因为第十层有188个,所以应该去掉第九层中的188/2=94个;

所以,第九层的叶子结点个数是256-94=162,加上第十层有188个,最后结果是350个

2完全二叉树:若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树。

比如图:

完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!

如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图:

此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。

3完全二叉树中,只存在度为2的结点和度为0的结点,而二叉树的性质中有一条是:n0=n2+1;n0指度为0的结点,即叶子结点,n2指度为2的结点,所以2n2+1=699 n2=349;n0=350

2.在一棵二叉树上第5层的结点数最多是多少

一棵二叉树,如果每个结点都是是满的,那么会满足2^(k-1)1。

所以第5层至多有2^(5-1)=16个结点!

3.在深度为5的满二叉树中,叶子结点的个数为

答案是16 ~ 叶子结点就是没有后件的结点~ 说白了~ 就是二叉树的最后一层~ 深度为K的二叉树~ 最多有2^k-1个结点~ 最多有2^(k-1)个结点~ 所以此题~ 最多有2^5-1=31个结点~ 最多有2^(5-1)=16个叶子结点~

4.某二叉树中度为2的结点有18个,则该二叉树中有几个叶子结点?

结点的度是指树中每个结点具有的子树个数或者说是后继结点数。

题中的度为2是说具有的2个子树的结点;

二叉树有个性质:二叉树上叶子结点数等于度为2的结点数加1。

5.在深度为7的满二叉树中,度为2的结点个数为多少,

就是第一层只有一个节点,他有两个子节点,第二层有两个节点,他们也都有两个子节点以此类推,所以到第6层,就有2的5次方个节点,他们都有两个子节点

最后第7层都没有子节点了。因为是深度为7的。

所以就是1+2+4+8+16+32了

2深度为1的时候有0个

深度为2的时候有1个

深度为3的时候有3个

深度为4的时候有7个

....

深度为n的时候有(2的n-1次方减1)个

6.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为?

假设n表示二叉树的所有结点数,n0表示度为0的结点(叶子结点),n1表示度为1的结点,n2表示度为2的结点,由二叉树的性质有:

n0 = n2 + 1

已知n0 = 70,

则n2 = n0 -1 = 69

n = n0 + n1 + n2

= 70 + 80 + 69

= 219

总结点数 n=70+80+70-1=219

2解:对任一二叉树,如果其叶子结点为n0,度为1的结点数为n1,度为2的结点数为n2,则n0=n2+1;

然后由n=n0+n1+n2①即可得出。(n为结点总数)

证明上一结论:由二叉树的特点可知,除了根结点外,所有的结点都是由一个分支引出来的,因此分支数为A=n-1,而二叉树中的分支都是由度为1和度为2的结点发出的,因此有A=n1+2*n2,于是A=n-1=n1+2*n2,得到:n=n1+2*n2+1②由①与②可得:n0=n2+1

7.某二叉树有5个度为2的结点和3个度为1的结点,则该二叉树共有几个结点??? 二叉树性质:终端结点(叶子节点)个数n0 = 度为2的节点(有2个孩子)个数n2 + 1

即n0 = n2 + 1。

所以本题有:叶子节点个数 = 5 + 1 = 6,

度为1的结点个数 = 3,

度为2的结点个数 = 5,

所以总个数 = 6 + 3 + 5 = 14

2对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0 = n2 + 1

故叶子结点数(即度为0的结点)为5+1=6

二叉树的结点数为n=n0+n1+n2

所以该二叉树的结点为:5+3+6=14

|

相关文档
最新文档