二叉树习题及答案(考试学习)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
|