第11讲 树和二叉树 课堂互动 隐藏答案 | 返回首页

作者:欧新宇(Xinyu OU)

最后更新:2023-10-30


【课前自测11】

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. 森林 T=(T1,T2,..,Tm)T=(T_1, T_2,.., T_m) 转化为二叉树BT的过程为:若 m = 0,则BT为空,若 m ≠ 0,则( )。
A. 将中间子树 Tmid(mid=(1+m)/2)T_{mid} (mid=(1+m)/2) 的根作为BT的根;将 T=(T1,T2,..,Tmid)T=(T_1, T_2,.., T_{mid}) 转换为BT的左子树;将 T=(Tmid+1,..,Tm)T=(T_{mid+1},.., T_m) 转换为 BT的右子树。
B. 将子树 T=T1T=T_1 的根作为BT的根;将 T=T1T=T_1 的子树森林转换成BT的左子树;将 T=(T2,T3,..,Tm)T=(T_2, T_3,.., T_m) 转换成BT的右子树。
C. 将子树 T=T1T=T_1 的根作为BT的根;将 T=T1T=T_1 的左子树森林转换成BT的左子树;将 T=T1T=T_1 的右子树森林转换为BT的右子树;其他以此类推。
D. 将森林的根作为BT的根;将 T=(T1,T2,..,Tm)T=(T_1, T_2,.., T_m) 转化为该根下的结点,得到一棵树,然后将这棵树再转化为二叉B树BT。

答案及解析:B
在森林转换为二叉树的过程中,应满足“左孩子右兄弟”的原则。此题正确的描述只有选项B。

5. 具有10个叶结点的二叉树中有( )个度为2的结点。
A. 8
B. 9
C. 10
D. 11

答案及解析:B
根据二叉树的性质,n0=n2+1n_0 = n_2 + 1,因此度为2的结点数 n2=101=9n_2 = 10 - 1 = 9

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。

【课堂互动11.1】树的基本概念

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
根据题意,有如下条件需要满足:

  1. 度数为4,说明至少有一层包含4个元素,且没有任何层包含更多的元素。
  2. 若高度为h,则其余层的结点数量至少应有h-1(度数为4的层)个结点。因此,总结点数至少为h-1+4=h+3,A选项正确。
  3. 若要求结点最多的情况,则树为所有结点度数都是4的满树,即1+4+42+...+4n=4n+1131+4+4^2+...+4^n=\frac{4^{n+1}-1}{3},选项B和C,都是错的。

4. 假定在一棵度为3的树中,结点数为50,则其最小高度为( )。
A. 3
B. 4
C. 5
D. 6

答案及解析:C
满足题目的树为一个完全三叉树,按照树的性质4可得最小高度为 logm(n(m1)+1)=5\lceil log_m (n(m-1)+1)\rceil = 5。若不记得公式,分析如下:第一层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. 树T的总度数=所有节点的度数之和=20×4+10×3+1×2+10×1=122;
  2. 结点总数 = 所有节点数度数+1=123;
  3. 分支数 = 有度数的结点 = 20+10+1+10=41;
  4. 叶子数 = 总节点数 - 有分支的结点个数 = 123-41=82

【课堂互动11.2】二叉树的基本概念和性质

1. 下列关于二叉树的说法中,正确的是( )。
A. 度为2的有序树就是二叉树
B. 含有n个结点的二叉树的高度为 log2n+1\lfloor log_2 n \rfloor + 1
C. 在完全二叉树中,若一个结点没有左孩子,则它必是叶结点
D. 含有n个结点的完全二叉树的高度为 log2n\lceil log_2 n \rceil

答案及解析:C

2. 假设一棵二叉树的结点个数为50,则它的最小高度是( )。
A. 4
B. 5
C. 6
D. 7

答案及解析:C
本题求二叉树的最小高度,则意味着需要使二叉树称为完全二叉树,甚至是满二叉树。方法一,根据二叉树的性质,树高 log2n+1=log250+1=6\lfloor log_2 n \rfloor + 1 = \lfloor log_2 50 \rfloor + 1 = 6。方法二,逐项列举,前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层为满二叉树,结点数为2h1=312^h-1=31。加上第6层的8个结点,总结点数=31+8=39个。

4. 若一棵深度为6的完全二叉树的第6层有3个叶结点,则该二叉树共有( )个叶结点。
A. 17
B. 18
C. 19
D. 20

答案及解析:A
深度为6的完全二叉树,第6层有3个结点,对应于第五层前2个结点。又因为第5层的结点数等于251=162^{5-1}=16个,所以第5层的叶节点数=16-2=14。加上第6层的3个结点,叶节点的总数为14+3=17个。

5. 一棵完全二叉树上有1001个结点,其中叶结点的个数是( )。
A. 250
B. 500
C. 254
D. 501

答案及解析:D
在完全二叉树中,结点个数 n=n0+n1+n2n=n_0+n_1+n_2,又有 n2+1=n0n_2+1=n_0,联立两个等式可得 2n0+n11=n=10012n_0 + n_1 -1 = n =1001。且完全二叉树度数为1的结点 n1n_1 只能为0或1。因此,设 n1=0n_1=0,可得 n0=501n_0=501n1=1n_1=1,无法求得整数。所以,n0=501n_0=501,选项D正确。

6. 若一棵二叉树有126个结点,在第7层(根结点在第1层)至多有( )个结点。
A. 32
B. 64
C. 63
D. 不存在第7层

答案及解析:C
要结点最多,则二叉树为完全二叉树。此时,前6层的顶点数 =261=63= 2^6-1 = 63个。因此第7层的个数为126-63=63个。注意,第7层的上限为 271=642^{7-1}=64

7. 一棵有124个叶结点的完全二叉树,最多有( )个结点。
A. 247
B. 248
C. 249
D. 250

答案及解析:B
在完全二叉树中,度数为0和2的结点数存在关系 n0=n2+1n_0=n_2+1,可得n2=1241=123n_2=124-1=123,总结点数 n=n0+n1+n2=124+n1+123=247+n1n=n_0+n_1+n_2=124+n_1+123=247+n_1。度为1的结点的个数为0或1,取最大值1,则总结点数 =247+1=248=247+1=248

8. 在一颗完全二叉树中,其根的序号为1,( )可判定序号为 p和q的两个结点是否在同一层。
A. log2p=log2q\lfloor log_2 p \rfloor = \lfloor log_2 q \rfloor
B. log2p=log2qlog_2 p = log_2 q
C. log2p+1=log2q\lfloor log_2 p + 1 \rfloor = \lfloor log_2 q \rfloor
D. log2p=log2q+1\lfloor log_2 p \rfloor = \lfloor log_2 q + 1 \rfloor

答案及解析:A
根据二叉树的性质,编号为i的结点位于第 log2i+1\lfloor log_2 i \rfloor + 1 层。因此,如果p,q位于同一层,则有 log2p+1=log2q+1\lfloor log_2 p \rfloor + 1 = \lfloor log_2 q \rfloor + 1,也即 log2p=log2q\lfloor log_2 p \rfloor = \lfloor log_2 q \rfloor

9. 假定一棵三叉树的结点数为50,则它的最小高度为( )。
A. 3
B. 4
C. 5
D. 6

答案及解析:C
对于三叉树而言,第i层的节点数为 3i13^{i-1},因此存在高度为h的三叉树的结点数上限为 30+31+32+...+3i1=1(13i1)13=3i11/23^0 + 3^1 + 3^2 +...+ 3^{i-1} = \frac{1(1-3^{i-1})}{1-3} = (3^{i-1} - 1)/2,即 3i11/250=>i=5(3^{i-1} - 1)/2 \geq 50 => i = 5

10. 对于一棵满二叉树,共有n个结点和m个叶结点,高度为h的,则( )。
A. n = h + m
B. n + m = 2h
C. m = h - 1
D. n=2h1n = 2^h - 1

答案及解析:D
高度为h的满二叉树,其结点数 n=20+21+...+2h1=2h1n = 2^0 + 2^1 +...+ 2^{h-1} = 2^h - 1

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层节点总数为261=322^{6-1}=32,因此,分支数=32-8=24。此时,第7层叶子的数量=24×2=48。总结点数 = 前6层结点个数+第7层结点个数 =261+48=63+48=111= 2^6-1 + 48 = 63+48 = 111

12.【2011统考真题】若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是( )。
A. 257
B. 258
C. 384
D. 385

答案及解析:C
根据完全二叉树的性质,有 n0+n1+n2=n,n2=n01n_0 + n_1 + n_2 = n, n_2 = n_0 - 1,于是有 n0+n1+n01=768=>2n0+n1=769n_0 + n_1 + n_0 - 1 = 768 => 2n_0 + n_1 = 769。因为 n1n_1 取值为0或1,次数只能是1,所以可得 n0=384n_0 = 384

13.【2018统考真题】设一棵非空完全二叉树T的所有叶结点均位于同一层,且每个非叶结点都有2个子结点。若T有k个叶结点,则T的结点总数是( )。
A. 2k12k - 1
B. 2k2k
C. k2k^2
D. 2k12^k - 1

答案及解析:A
非空完全二叉树,若所有叶结点都位于同一层,则说明该二叉树是一个满二叉树。若T有k个叶结点,则最后一层的结点数 k=2h1k = 2^{h-1},此时结点总数等于 2h1=2k12^h - 1 = 2k -1。另一种方法,在二叉树中,分支结点数 = 叶节点数 - 1,即 k-1。所以,总结点数 = k + k - 1 = 2k -1。

【课堂互动11.3】二叉树的存储结构

1. 以下说法中,正确的是( )。
A. 在完全二叉树中,叶结点的双亲的左兄弟(若存在)一定不是叶结点
B. 任何一棵二叉树中,叶结点数为度为2的结点数减1,即 n0=n21n_0 = n_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的二叉树,如果使用顺序存储,为了保证任意性,需要考虑一个满二叉树的空间来存储,即 251=312^5-1=31

3. 一棵有n个结点的二叉树采用二叉链存储结点,其中空指针数为( )。
A. n
B. n+1
C. n-1
D. 2n

答案及解析:B
n个结点的二叉树,除根以外,每个结点都是一个结点的后继,因此每个结点都占用了一个指针域,即非空指针为n-1。在二叉链中,由于每个结点都包含两个指针域;因此,指针域的总数等于结点数的两倍,即2n个结点。所以,空指针域的数量 = 指针域的数量 - 非空指针域的数量 = 2n - (n - 1) = n + 1。

【课堂互动11.4】森林与二叉树的转换

1.下列关于树的说法中,正确的是( )。
I. 对于有 n 个结点的二叉树,其高度为 log2nlog_2 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的最低高度,说明三叉树满足完全二叉树的要求,即每层结点数为30,31,...,3n3^0, 3^1,..., 3^n。在本题中,前5层的节点数为:1+3+9+27+81 = 121,第6层节点数为243。因此,本题的244个结点应该包含6层,其中前五层121个结点,第六层122个结点。选项C正确。

【扩展练习11】

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
根据二叉树性质可知,n0=n2+1n_0 = n_2 + 1,结点总数 =2n=n2+n1+n0=2n2+n1+1= 2n = n_2 + n_1 + n_0 = 2n_2 + n_1 + 1,因此,n1=2(nn1)1n_1 = 2(n-n_1)-1,即n1n_1必然为奇数。

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. 2h2^h
B. 2h+12^h+1
C. 2h12^{h-1}
D. 2h12^h-1

答案及解析:C
高度为h-1的完全二叉树的结点数 1+21+22+...+2h1=1(12h1)12=2h111 + 2^1 + 2^2 +...+ 2^{h-1} = \frac{1(1-2^{h-1})}{1-2} = 2^{h-1}-1,第h层至少有1个结点。因此,最少结点为 2h12^{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. 在一棵完全二叉树中,含有 n0n_0 个叶结点,当度为1的结点数为1时,该树的高度是多少?当度为1的结点数为0时,该树的高度是多少?

答案及解析:
根据二叉树的性质有 n=n0+n1+n2,n2=n01n = n_0 + n_1 + n_2, n_2 = n_0 - 1,所以,n=2n0+n11n = 2n_0 + n_1 - 1
1.若 n0n_0 = 0,则二叉树的高 h=log2(n+1)=log22n0=log2n0+1h = \lceil log_2 (n+1) \rceil = \lceil log_2 2n_0 \rceil = \lceil log_2 n_0 \rceil + 1
n0n_0 = 1,则二叉树的高 h=log2(2n0+1)h = \lceil log_2 (2n_0+1) \rceil

12. 一棵有n个结点的满二叉树有多少个分支结点和多少个叶结点?该满二叉树的高度是多少?

答案及解析:

13. 已知完全二叉树的第9层有240个结点,则整个完全二叉树有多少个结点?有多少个叶结点?

答案及解析:
根据二叉树的性质,第9层包含结点数上限为291=2562^{9-1} = 256个。此时,结点数为240个,说明第9层没有满,且有256-240=16个空位。换句话说,第8层有16/2=8个结点没有孩子,因此它们也是叶结点。所以,叶子结点的总数为240+8=248个。
另一方面,二叉树结点总数等于前8层结点数之和加上叶子结点数,即 281+240=4952^8-1 + 240 = 495 个。

第11讲 树和二叉树 课堂互动 隐藏答案 | 返回首页