课堂互动
隐藏答案 | 返回首页 作者:欧新宇(Xinyu OU)
最后更新:2023-10-30
1. 树最适合用来表示( )的数据。
A. 有序
B. 无序
C. 任意元素之间具有多种联系
D. 元素之间具有分支层次关系
答案及解析:D
树是一种分层结构,它适用于处理元素之间具有层次关系的数据,选项D正确;选项C多种关系一般使用图来进行表示。选项AC显然错误
2. 树的路径长度是从根到每个结点的路径长度的( )。
A. 总和
B. 最小值
C. 最大值
D. 平均值
答案及解析:A
树的路径长度是指根到每个结点路径长度的总和,根到每个结点的路径长度的最大值应是树的高度-1。此题也是树的定义。
3. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )。
A. m - n
B. m - n - 1
C. n + 1
D.条件不足,无法确定
答案及解析:A
森林转换为二叉树使用的是孩子兄弟表示法,因此根节点和左孩子为森林的第一棵树,而右孩子为森林的其他树。故此题中第一棵树的节点数 = m - n。
4. 森林 转化为二叉树BT的过程为:若 m = 0,则BT为空,若 m ≠ 0,则( )。
A. 将中间子树 的根作为BT的根;将 转换为BT的左子树;将 转换为 BT的右子树。
B. 将子树 的根作为BT的根;将 的子树森林转换成BT的左子树;将 转换成BT的右子树。
C. 将子树 的根作为BT的根;将 的左子树森林转换成BT的左子树;将 的右子树森林转换为BT的右子树;其他以此类推。
D. 将森林的根作为BT的根;将 转化为该根下的结点,得到一棵树,然后将这棵树再转化为二叉B树BT。
答案及解析:B
在森林转换为二叉树的过程中,应满足“左孩子右兄弟”的原则。此题正确的描述只有选项B。
5. 具有10个叶结点的二叉树中有( )个度为2的结点。
A. 8
B. 9
C. 10
D. 11
答案及解析:B
根据二叉树的性质,,因此度为2的结点数 。
6.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为( )。
A. h
B. 2h-1
C. 2h+1
D. h+1
答案及解析:B
本题求二叉树至少有多少个结点,意味着需要使二叉树尽可能的深。此时的二叉树除第一层只有一个根结点,每一层都只有2个元素。若高度为h,则元素个数就是2h-1。
7. 设森林 F 中有3棵树,第一、第二、第三棵树的结点个数分别为M1、M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。
A. M1
B. M1+M2
C. M3
D. M2+M3
答案及解析:D
在森林转换为二叉树的过程中,应满足“左孩子右兄弟”的原则。因此,本题中生成的二叉树,M2将作为M1的右孩子,M3作为M2的右孩子。所以,根节点的右孩子的结点数等于M2+M3。
1. 一棵有n个结点的树的所有节点的度数之和为( )。
A. n-1
B. n
C. n+1
D. 2n
答案及解析:A
除根节点外,树中所有结点都是其他结点的某个孩子。因此,树的所有结点的度数和=结点总数-根结点。当结点数为n时,度数=n-1。该题的结论是树的一个重要结论,经常被用到,需要记牢。
2. 对于一棵具有n个结点、度为4的树来说,( )。
A. 树的高度至多是n-3
B. 树的高度至多是n-4
C. 第i层上至多有4(i-1)个结点
D. 至少在某一层上正好有4个结点
答案及解析:A
树的度数为度数最大结点的度数。此处,度数为4,意味着至少有一个结点包含4个分支。若要求树的高度最高,除该节点外,其他层都只能有一个分支。因此,树的高度=结点数-1=(n-4)+1=n-3,选项A正确。选项C,若i=4,则该层结点数=12个,与度数为4违背,按照度数为4,则该层应该包含4×4=16个结点,显然错误。选项D,有些容易产生字面上的误解,它只说明了某一层正好4个,并没有说明这种情况是最多,最少,还是普遍。若除了该层,其它的某一层包含6个结点,该描述也可以说清楚,但此时树的度数就变成6了。
3. 度为4、高度为h的树( )。
A. 至少有h+3个结点
B. 至多有4h-1个结点
C. 至多有4h个结点
D. 至少有h+4个结点
答案及解析:A
根据题意,有如下条件需要满足:
4. 假定在一棵度为3的树中,结点数为50,则其最小高度为( )。
A. 3
B. 4
C. 5
D. 6
答案及解析:C
满足题目的树为一个完全三叉树,按照树的性质4可得最小高度为 。若不记得公式,分析如下:第一层1个结点;第二层3个结点;第三层3×3=9个结点;第四层3×3×3=27个结点;前四层总共1+3+9+27=40个结点。因此,还需要第5层容纳10个结点。故选项C正确。
5. 【2010年统考真题】在一棵度数为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶子个数是( )。
A. 41
B. 82
C. 113
D. 122
答案及解析:B
1. 下列关于二叉树的说法中,正确的是( )。
A. 度为2的有序树就是二叉树
B. 含有n个结点的二叉树的高度为
C. 在完全二叉树中,若一个结点没有左孩子,则它必是叶结点
D. 含有n个结点的完全二叉树的高度为
答案及解析:C
2. 假设一棵二叉树的结点个数为50,则它的最小高度是( )。
A. 4
B. 5
C. 6
D. 7
答案及解析:C
本题求二叉树的最小高度,则意味着需要使二叉树称为完全二叉树,甚至是满二叉树。方法一,根据二叉树的性质,树高 。方法二,逐项列举,前5层结点数 = 1 + 2 + 4 + 8 + 16 = 31,第6层结点数 = 32。此处,树的高度为50,刚刚超过5层,但未达到第6层满配的31+32=63。因此,二叉树高度为6。
3. 已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最少是( )。
A. 39
B. 52
C. 111
D. 119
答案及解析:A
第6层有8个叶结点,说明该完全二叉树包含6层或7层。若要求结点最少,则树的深度只能为6。此时,前5层为满二叉树,结点数为。加上第6层的8个结点,总结点数=31+8=39个。
4. 若一棵深度为6的完全二叉树的第6层有3个叶结点,则该二叉树共有( )个叶结点。
A. 17
B. 18
C. 19
D. 20
答案及解析:A
深度为6的完全二叉树,第6层有3个结点,对应于第五层前2个结点。又因为第5层的结点数等于个,所以第5层的叶节点数=16-2=14。加上第6层的3个结点,叶节点的总数为14+3=17个。
5. 一棵完全二叉树上有1001个结点,其中叶结点的个数是( )。
A. 250
B. 500
C. 254
D. 501
答案及解析:D
在完全二叉树中,结点个数 ,又有 ,联立两个等式可得 。且完全二叉树度数为1的结点 只能为0或1。因此,设 ,可得 ;,无法求得整数。所以,,选项D正确。
6. 若一棵二叉树有126个结点,在第7层(根结点在第1层)至多有( )个结点。
A. 32
B. 64
C. 63
D. 不存在第7层
答案及解析:C
要结点最多,则二叉树为完全二叉树。此时,前6层的顶点数 个。因此第7层的个数为126-63=63个。注意,第7层的上限为 。
7. 一棵有124个叶结点的完全二叉树,最多有( )个结点。
A. 247
B. 248
C. 249
D. 250
答案及解析:B
在完全二叉树中,度数为0和2的结点数存在关系 ,可得,总结点数 。度为1的结点的个数为0或1,取最大值1,则总结点数 。
8. 在一颗完全二叉树中,其根的序号为1,( )可判定序号为 p和q的两个结点是否在同一层。
A.
B.
C.
D.
答案及解析:A
根据二叉树的性质,编号为i的结点位于第 层。因此,如果p,q位于同一层,则有 ,也即 。
9. 假定一棵三叉树的结点数为50,则它的最小高度为( )。
A. 3
B. 4
C. 5
D. 6
答案及解析:C
对于三叉树而言,第i层的节点数为 ,因此存在高度为h的三叉树的结点数上限为 ,即 。
10. 对于一棵满二叉树,共有n个结点和m个叶结点,高度为h的,则( )。
A. n = h + m
B. n + m = 2h
C. m = h - 1
D.
答案及解析:D
高度为h的满二叉树,其结点数
11.【2009统考真题】已知一颗完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。
A. 39
B. 52
C. 111
D. 119
答案及解析:C
完全二叉树的第6层有8个叶结点,有两种可能。一是,二叉树有6层,第6层包含8个叶结点。二是,二叉树有7层,第6层包含8个叶结点,其余都是分支结点。要使得该完全二叉树结点数最多,则肯定是第二种方法。此时,第7层结点数由第6层分支数决定。第6层节点总数为,因此,分支数=32-8=24。此时,第7层叶子的数量=24×2=48。总结点数 = 前6层结点个数+第7层结点个数 。
12.【2011统考真题】若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是( )。
A. 257
B. 258
C. 384
D. 385
答案及解析:C
根据完全二叉树的性质,有 ,于是有 。因为 取值为0或1,次数只能是1,所以可得 。
13.【2018统考真题】设一棵非空完全二叉树T的所有叶结点均位于同一层,且每个非叶结点都有2个子结点。若T有k个叶结点,则T的结点总数是( )。
A.
B.
C.
D.
答案及解析:A
非空完全二叉树,若所有叶结点都位于同一层,则说明该二叉树是一个满二叉树。若T有k个叶结点,则最后一层的结点数 ,此时结点总数等于 。另一种方法,在二叉树中,分支结点数 = 叶节点数 - 1,即 k-1。所以,总结点数 = k + k - 1 = 2k -1。
1. 以下说法中,正确的是( )。
A. 在完全二叉树中,叶结点的双亲的左兄弟(若存在)一定不是叶结点
B. 任何一棵二叉树中,叶结点数为度为2的结点数减1,即
C. 完全二叉树不适合顺序存储结构,只有满二叉树适合顺序存储结构
D. 结点按完全二叉树层序编号的二叉树中,第i个结点的左孩子的编号为2i
答案及解析:A
选项A,完全二叉树满足顺序存储的要求,因此若叶节点的双亲的左兄弟存在,则它一定也包含2个叶子结点;
选项B,叶结点的数量应等于度数为2的结点数加1。该公式满足所有二叉树,以三层完全满二叉树为例,叶子结点为4,非叶结点为3;
选项C,满二叉树和完全二叉树都可以使用顺序存储;
选项D,完全二叉树第i结点也可能是叶子结点,此时无法计算左孩子,因此错误。
2.【2020统考真题】对于任意一棵高度为5且有10个结点的二叉树,若采用顺序存储结构保存,每个结点占1个存储单元(仅存放结点的数据信息),则存放该二叉树需要的存储单元数量至少是( )。
A. 31
B. 16
C. 15
D. 10
答案及解析:A
对于高度为5的二叉树,如果使用顺序存储,为了保证任意性,需要考虑一个满二叉树的空间来存储,即 。
3. 一棵有n个结点的二叉树采用二叉链存储结点,其中空指针数为( )。
A. n
B. n+1
C. n-1
D. 2n
答案及解析:B
n个结点的二叉树,除根以外,每个结点都是一个结点的后继,因此每个结点都占用了一个指针域,即非空指针为n-1。在二叉链中,由于每个结点都包含两个指针域;因此,指针域的总数等于结点数的两倍,即2n个结点。所以,空指针域的数量 = 指针域的数量 - 非空指针域的数量 = 2n - (n - 1) = n + 1。
1.下列关于树的说法中,正确的是( )。
I. 对于有 n 个结点的二叉树,其高度为
II. 完全二叉树中,若一个结点没有左孩子,则它必是叶结点
III. 高度为h(h>0)的完全二叉树对应的森林所含的树的个数一定是h
IV. 一棵树中的叶子数一定等于与其对应的二叉树的叶子数
A. I 和 III
B. IV
C. I 和 II
D. II
答案及解析:D
选项A,若二叉树是一个单分支的二叉树,则其深度为n。
选项B,构建完全二叉树时,必须保证先有左孩子,再有右孩子;因此,若不存在左孩子,那必然也不存在右孩子,所以是一个叶子结点。
选项C,对于满二叉树,该性质才成立。
选项D,在树转换为二叉树的过程中,若树中存在多个结点具有同一个双亲,则它们转换后只剩一个叶结点,因此转换前后叶子结点没有直接的对应关系
2. 【2011统考真题】已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是( )。
A. 115
B. 116
C. 1895
D. 1896
答案及解析:D
在树转换为二叉树的过程中,所有分支的最后一个孩子都没有右孩子,根结点也没有右孩子。本题可以使用特殊情况法进行验证。如下图,构建一个高度为1895的单支树,但最后一层包含116个叶子结点。将该树转换成二叉树后,变为右图的折叠的单支二叉树。此此没有右孩子的结点包括主干的1895个结点和最后一个结点,共计1895+1=1896个。
🏷️Img_Lec1101
3. 【2014统考真题】将森林F转换为对应的二叉树T,F中叶结点的个数等于( )。
A. T中叶结点的个数
B. T中度为1的结点个数
C. T中左孩子指针为空的结点个数
D. T中右孩子指针为空的结点个数
答案及解析:C
根据“左孩子右兄弟”原则:
4.【2016统考真题】若森林F有15条边、25个结点,则F包含树的个数是( )。
A. 8
B. 9
C. 10
D. 11
答案及解析:C
对于树来说,一个重要的性质是对于n个结点的树,边数为n-1。此题,边数为15、结点数为25,即结点数比边数多10,因此森林包含10棵树。
5.【2022统考真题】如果三叉树T中有244个结点(叶结点的高度为1),那么T的高度至少是( )。
A. 8
B. 7
C. 6
D. 5
答案及解析:C
求T的最低高度,说明三叉树满足完全二叉树的要求,即每层结点数为。在本题中,前5层的节点数为:1+3+9+27+81 = 121,第6层节点数为243。因此,本题的244个结点应该包含6层,其中前五层121个结点,第六层122个结点。选项C正确。
1. 已知一棵度数为4的树中,度数为0,1,2,3的节点数分别为14,4,3,2,求该树的结点总数n和度为4的结点个数,并给出推导过程。
答案及解析:
设度数为4的结点个数为n4,则:
树中所有结点的总度数 = 0×14+1×4+2×3+3×2+4×n4 = 16+4×n4
树的结点数 = 总度数+1 = 17+4×n4
有分支结点数 = 度数为非0的结点数 = 4+3+2+n4 = 9+n4
叶子树 = 度数为0的结点数 = 14
树的总结点数 = 有分支结点树 + 叶子数 => 17+4×n4 = 9+n4 + 14 => n4 = 2
树的结点数 = 17+4×n4 = 25
答:该树的结点总数为25,度数为4的结点数为2。
2. 设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲结点的右孩子,下列结论中正确的是( )。
A. 在树T中,X是其双亲结点的第一个孩子
B. 在树T中,X一定无右边兄弟
C. 在树T中,X一定是叶结点
D. 在树T中,X一定有左边兄弟
答案及解析:D
在树向二叉树的转换过程中,左孩子依然是左孩子,兄弟会变为前一个兄弟的右孩子。因此,在B中,若X是其双亲的右孩子,则它在T中它们一定是兄弟关系,且X是右兄弟。
3. 在森林的二叉树表示中,结点M和结点N是同一父结点的左儿子和右儿子,则在该森林中()。
A. M和N有同一双亲
B. M和N可能无公共祖先
C. M是N的儿子
D. M是N的左兄弟
答案及解析:B
M和N是同一父结点的左儿子和右儿子,则在原来的森林中,M是父结点的左孩子,N是父节点的兄弟结点。因此,选项C和D都是错误的。选项A,是一种可能,但也可能M和N分属于不同的树,因此A过于武断。选项B和选项A刚好相反,描述的是一种可能的情况。
4. 利用二叉链表存储森林时,根结点的右指针是( )。
A. 指向最左兄弟
B. 指向最右兄弟
C. 一定为空
D. 不一定为空
答案及解析:D
在使用二叉链表存储森林时,通常需要先将森林转换为二叉树。若森林存在多棵树,则右指针指向的是第二棵树的根结点;若森林只存在一棵树,则右指针指向空值。因此,只有选项D是正确的。选项B和C都有可能发生。
5. 设F是一个森林, B是由F变换来的二叉树。若F中有n个非终端结点,则B中右指针或为空的结点有( )个。
A. n - 1
B. n
C. n + 1
D. n + 2
答案及解析:C
根据森林与二叉树转换的“左孩子右兄弟”规则,
1.森林中的最后一棵树的的根节点右指针为空;
2.每个非终端结点的最后一个孩子在转换后,也没有右孩子,右指针为空。
所以,B中右指针为空的结点树为n+1。
6. 设二叉树有2n个结点,且 m<n,则不可能存在( )的结点。
A. n个度为0
B. 2m个度为0
C. 2m个度为1
D. 2m个度为2
答案及解析:C
根据二叉树性质可知,,结点总数 ,因此,,即必然为奇数。
7. 一个具有1025个结点的二叉树的高h为( )。
A. 11
B. 10
C. 11~1025
D. 10~1024
答案及解析:C
8. 设二叉树只有度为0和2的结点,其结点个数为15,则该二叉树的最大深度为( )。
A. 4
B. 5
C. 8
D. 9
答案及解析:C
由于二叉树只有度为0和2的结点,因此,除根结点外,其余各层都只有2个结点。设树高为h,则有2h-1=15 => h=8
9. 高度为h的完全二叉树最少有( )个结点。
A.
B.
C.
D.
答案及解析:C
高度为h-1的完全二叉树的结点数 ,第h层至少有1个结点。因此,最少结点为 。
10. 【2009统考真题】 将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( )。
I. 父子关系 II. 兄弟关系 III. u的父结点与v的父结点是兄弟关系
A. 只有II
B. I和II
C. I和III
D. I、II和III
答案及解析:B
情况I,当v是u的左孩子的左孩子时,转换为二叉树,u依然是v的父节点的父节点;
情况II,当v是u的右兄弟的右兄弟是,转换为二叉树,u依然是v的父节点的父节点;
情况II,若u和v的父节点是兄弟,则转换为二叉树后,u和v将属于不同的分支,不可能再属于同一分支。
因此,正确选项为I和II。
11. 在一棵完全二叉树中,含有 个叶结点,当度为1的结点数为1时,该树的高度是多少?当度为1的结点数为0时,该树的高度是多少?
答案及解析:
根据二叉树的性质有 ,所以,。
1.若 = 0,则二叉树的高 。
若 = 1,则二叉树的高 。
12. 一棵有n个结点的满二叉树有多少个分支结点和多少个叶结点?该满二叉树的高度是多少?
答案及解析:
13. 已知完全二叉树的第9层有240个结点,则整个完全二叉树有多少个结点?有多少个叶结点?
答案及解析:
根据二叉树的性质,第9层包含结点数上限为。此时,结点数为240个,说明第9层没有满,且有256-240=16个空位。换句话说,第8层有16/2=8个结点没有孩子,因此它们也是叶结点。所以,叶子结点的总数为240+8=248个。
另一方面,二叉树结点总数等于前8层结点数之和加上叶子结点数,即 个。