第5章_树与二叉树习题解析讲解

合集下载

树和二叉树习题集与答案解析

树和二叉树习题集与答案解析

一、填空题1. 不相交的树的聚集称之为森林。

2. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_树可采用孩子-兄弟链表(二叉链表)做存储结构,目的是利用二叉树的已有算法解决树的有关问题。

3. 深度为k的完全二叉树至少有2 k-1个结点。

至多有2 k-1个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是2 k-2+1。

4. 在一棵二叉树中,度为零的结点的个数为n 0,度为2的结点的个数为n 2,则有n0= n2+1。

5. 一棵二叉树的第i(i≥1)层最多有2 i-1个结点;一棵有n(n>0)个结点的满二叉树共有(n+1)/2个叶子和(n-1)/2个非终端结点。

6.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这一遍历结果。

7. 哈夫曼树是带权路径最小的二叉树。

8. 前缀编码是指任一个字符的编码都不是另一个字符编码的前缀的一种编码方法,是设计不等长编码的前提。

9. 以给定的数据集合{4,5,6,7,10,12,18}为结点权值构造的Huffman 树的加权路径长度是165 。

10. 树被定义为连通而不具有回路的(无向)图。

11. 若一棵根树的每个结点最多只有两个孩子,且孩子又有左、右之分,次序不能颠倒,则称此根树为二叉树。

12. 高度为k,且有个结点的二叉树称为二叉树。

2k-1 满13. 带权路径长度最小的二叉树称为最优二叉树,它又被称为树。

Huffman14. 在一棵根树中,树根是为零的结点,而为零的结点是结点。

入度出度树叶15. Huffman树中,结点的带权路径长度是指由到之间的路径长度与结点权值的乘积。

结点树根16. 满二叉树是指高度为k,且有个结点的二叉树。

二叉树的每一层i上,最多有个结点。

2k-1 2i-1二、单选题1. 具有10个叶结点的二叉树中有(B) 个度为2的结点。

(A)8 (B)9 (C)10 (D)112.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用_(3)次序的遍历实现编号。

《数据结构及其应用》笔记含答案 第五章_树和二叉树

《数据结构及其应用》笔记含答案 第五章_树和二叉树

第5章树和二叉树一、填空题1、指向结点前驱和后继的指针称为线索。

二、判断题1、二叉树是树的特殊形式。

()2、完全二叉树中,若一个结点没有左孩子,则它必是叶子。

()3、对于有N个结点的二叉树,其高度为。

()4、满二叉树一定是完全二叉树,反之未必。

()5、完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。

()6、若一个结点是某二叉树子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。

()7、不使用递归也可实现二叉树的先序、中序和后序遍历。

()8、先序遍历二叉树的序列中,任何结点的子树的所有结点不一定跟在该结点之后。

()9、赫夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。

()110、在赫夫曼编码中,出现频率相同的字符编码长度也一定相同。

()三、单项选择题1、把一棵树转换为二叉树后,这棵二叉树的形态是(A)。

A.唯一的B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子解释:因为二叉树有左孩子、右孩子之分,故一棵树转换为二叉树后,这棵二叉树的形态是唯一的。

2、由3个结点可以构造出多少种不同的二叉树?(D)A.2 B.3 C.4 D.5解释:五种情况如下:3、一棵完全二叉树上有1001个结点,其中叶子结点的个数是(D)。

A.250 B. 500 C.254 D.501解释:设度为0结点(叶子结点)个数为A,度为1的结点个数为B,度为2的结点个数为C,有A=C+1,A+B+C=1001,可得2C+B=1000,由完全二叉树的性质可得B=0或1,又因为C为整数,所以B=0,C=500,A=501,即有501个叶子结点。

4、一个具有1025个结点的二叉树的高h为(C)。

A.11 B.10 C.11至1025之间 D.10至1024之间解释:若每层仅有一个结点,则树高h为1025;且其最小树高为⎣log21025⎦ + 1=11,即h在11至1025之间。

第5章 树与二叉树习题参考答案【VIP专享】

第5章 树与二叉树习题参考答案【VIP专享】

2. 一棵具有 n 个结点的二叉树,其深度最多为 n ,最少为 [log2n]+1 。 3. 一棵具有 100 个结点的完全二叉树,其叶结点的个数为 50 。37 4. 以{5,9,12,13,20,30}为叶结点的权值所构造的哈夫曼树的带权路径长度是 217
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

5(选讲)树和二叉树解析

5(选讲)树和二叉树解析

2024/7/15
18
LH2=0
1
RH2=1
2
3
LH2-RH2=0-1=-1
4
非完全二叉树
1
2
3
4
5
6
非完全二叉树
LH1=3 RH1=1
LH1 -RH1=2
2024/7/15
19
2.二叉树的性质 性质1 在二叉树的第i层上至多有2i-1 个结点(i≥1)。
性质2 深度为k的二叉树至多有2k-1个结点(k≥1)。
(1) 前序遍历的递归定义:
若树T非空,则:
访问根结点R;
按 照 从 左 到 右 的 顺 序 依 次 前 序 遍 历 根 结 点 R 的 各 子 树 T1, T2,…,Tk。
2024/7/15
12
(2) 后序遍历的递归定义:
若树T非空,则:
按照从左到右的顺序依次后序遍历根T的各子树Tl,T2,…,Tk; 访问根结点R。
4. 结点的层次及树的深度:根为第一层,根的孩子为第二层,若某结 点为第k层,则其孩子为k+1层.
树中结点的最大层次称为树的深度或高度
5.森林:是m(m>=0)棵互不相的树的集合
森林与树概念相近,相互很容易转换.
6 .有序树、无序树 如果树中每棵子树从左向右的排列拥有一定的
顺序,不得互换,则称为有序树,否则称为无序树。
特点:(1)每一层上结点数都达到最大
(2)度为1的结点n1=0,树叶都在最下一层上。
结点层序编号方法:从根结点起从上到下逐层(层内从左到右)对二叉树的
结点进行连续编号。
1
K=3
n=23-1=7
2
3
4
5
6

第5章树和二叉树3演示课件

第5章树和二叉树3演示课件

A BC D EF G
HI
(a) 树
HI
(b) 加线后
图5-17 树转换为二叉树的操作过程
15
A BC D EF G
A B
E
C
D F
HI
H
G
(c) 抹线后
I
(d) 旋转后
图5-17 树转换为二叉树的操作过程
16
2. 二叉树还原为树
分以下三步: (如图所示) ? (1)加线:若当前结点是双亲结点的左孩
子,则将该结点的右孩子,右孩子的右孩 子都分别与其双亲结点连线. ? (2)抹线:抹掉原二叉树中所有双亲结点 与右孩子的连线. ? (3)调整:将结点按层次排列,形成树.
17
A B
A B
E
C
D F
E
C
D F
H
G
H
G
I (a) 二叉树
I
(b) 加线后
图5-18 二叉树转换为树的操作过程
18
A B
E
}NodeType;
11
R?
A
R
?D
?B
AB C
? E?
C?
DE F
F?
GH I
?G ?H
图5-16 树T的孩子兄表示存储结构
? I ?12
5.3.2 树、森林与二叉树的转换
一、树与二叉树的转换 1、树转换为二叉树 可按以下步骤进行: ? (1)加线:在兄弟结点之间加连线. ? (2)抹线:抹掉除最左孩子之外该结点与其
的双亲则操作不便 .
9
3.孩子兄弟表示法 又称为二叉树 (或二叉链表 )表示法,即以二叉链表
作为树的存储结构,链表中结点结构如下 :

数据结构第5章树和二叉树

数据结构第5章树和二叉树

数据结构(C++版)
树的基本术语
祖先、子孙:在树中,如果有一条路径从结点x到结 点y,那么x就称为y的祖先,而y称为x的子孙。
A
BC
D
E F GH I J
KL
M
清华大学出版社
5.1 树的逻辑结构
数据结构(C++版)
树的基本术语
结点所在层数:根结点的层数为1;对其余任何结点,
若某结点在第k层,则其孩子结点在第k+1层。
0A
1
2∧
1B
3
4
5∧
2C
6
7∧
3D ∧
4E
8∧
A
5F ∧
6G ∧ 7H ∧ 8I ∧
B
C
DEF G H
如何查找双亲结点?时间性能? I
清华大学出版社
数据结构(C++版)
5.2 树的存储结构
双亲孩子表示法
data parent firstchild
0 A -1
1
1B 0
3
2C 0
6
3D 1 ∧
4E 1
双亲表示法
A
B
C
DEF G H
I
下标 data
0A
1B
2C
3D
4E
5F
6G
7H
8
I
parent firstchild
-1
1
0
3
0
6
1
-1
1
8
1
-1
2
-1
2
-1
4
-1
如何查找孩子结点?时间性能?
清华大学出版社
数据结构(C++版)
5.2 树的存储结构

数据结构与算法第5章课后答案

数据结构与算法第5章课后答案

page: 1The Home of jetmambo - 第 5 章树和二叉树第 5 章树和二叉树(1970-01-01) -第 5 章树和二叉树课后习题讲解1. 填空题⑴树是n(n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m (m>0)个()的集合,每个集合都是根结点的子树。

【解答】有且仅有一个,互不相交⑵树中某结点的子树的个数称为该结点的(),子树的根结点称为该结点的(),该结点称为其子树根结点的()。

【解答】度,孩子,双亲⑶一棵二叉树的第i(i≥1)层最多有()个结点;一棵有n(n>0)个结点的满二叉树共有()个叶子结点和()个非终端结点。

【解答】2i-1,(n+1)/2,(n-1)/2【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。

⑷设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(),最小值是()。

【解答】2h -1,2h-1【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。

⑸深度为k的二叉树中,所含叶子的个数最多为()。

【解答】2k-1【分析】在满二叉树中叶子结点的个数达到最多。

⑹具有100个结点的完全二叉树的叶子结点数为()。

【解答】50【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编号为50,也就是说,从编号51开始均为叶子。

⑺已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点。

则该树中有()个叶子结点。

【解答】12【分析】根据二叉树性质3的证明过程,有n0=n2+2n3+1(n0、n2、n3分别为叶子结点、度为2的结点和度为3的结点的个数)。

⑻某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是()。

第5章 树和二叉树

第5章 树和二叉树
A
B A
C
D
E
F
G
H
I
J
K
L
T1
T2
M
2015年10月20日
T3
树的其它表示方式
A D K L F C G E B H M J I
A
A B E K L F C G
B C D
嵌套集合
E
D H M
F
G
H
I
J
I J
K
L
M
凹入表示
(A(B(E(K,L),F),C(G),D(H(M),I,J)))
广义表
2015年10月20日
北京林业大学信息学院
2015年10月20日
二叉树的链式存储
PARENT
lchild
data
rchild
DATA
lchild
data
parent rchild
LCHILD
RCHILD
北京林业大学信息学院
2015年10月20日
二叉链表
A A ^ B D lchild data rchild
B
C
E
G
F
二叉树的五种不同形态
2015年10月20日
练习
具有3个结点的二叉树可能有几种不同形态?普通树呢? 5种/2种
2015年10月20日
二叉树的抽象数据类型定义
ADT BinaryTree{ 数据对象D: D是具有相同特性的数据元素的集合。 数据关系R: 若D=Φ,则R= Φ ; 若D≠Φ,则R= {H};存在二元关系: ① root 唯一 //关于根的说明 ② Dj∩Dk= Φ //关于子树不相交的说明 ③ …… //关于数据元素的说明 ④ …… //关于左子树和右子树的说明 //至少有20个 基本操作 P: }ADT BinaryTree

数据结构C语言版第二版第5章树和二叉树答案

数据结构C语言版第二版第5章树和二叉树答案

第5章 树和二叉树1.选择题(1)把一棵树转换为二叉树后,这棵二叉树的形态是( )。

A .唯一的 B.有多种C .有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子 答案:A解释:因为二叉树有左孩子、右孩子之分,故一棵树转换为二叉树后,这棵二叉树的形态是唯一的。

(2)由3个结点可以构造出多少种不同的二叉树?( ) A .2 B .3 C .4 D .5 答案:D解释:五种情况如下:A CBACBA CBACBACB(3)一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。

A .250 B . 500 C .254 D .501 答案:D解释:设度为0结点(叶子结点)个数为A ,度为1的结点个数为B ,度为2的结点个数为C ,有A=C+1,A+B+C=1001,可得2C+B=1000,由完全二叉树的性质可得B=0或1,又因为C 为整数,所以B=0,C=500,A=501,即有501个叶子结点。

(4)一个具有1025个结点的二叉树的高h 为( )。

A .11B .10C .11至1025之间D .10至1024之间 答案:C解释:若每层仅有一个结点,则树高h 为1025;且其最小树高为 log 21025 + 1=11,即h 在11至1025之间。

(5)深度为h 的满m 叉树的第k 层有( )个结点。

(1=<k=<h) A .mk-1B .m k -1C .m h-1D .m h-1答案:A解释:深度为h 的满m 叉树共有m h-1个结点,第k 层有m k-1个结点。

(6)利用二叉链表存储树,则根结点的右指针是( )。

A .指向最左孩子B .指向最右孩子C .空D .非空 答案:C解释:利用二叉链表存储树时,右指针指向兄弟结点,因为根节点没有兄弟结点,故根节点的右指针指向空。

(7)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )遍历实现编号。

树结构习题及答案

树结构习题及答案

第5章树【例5-1】写出如图5-1所示的树的叶子结点、非终端结点、每个结点的度及树深度。

AB C D EF G H I J图5-1解:(1)叶子结点有:B、D、F、G、H、I、J。

(2)非终端结点有:A、C、E。

(3)每个结点的度分别是:A的度为4,C的度为2,E的度为3,其余结点的度为0。

(4)树的深度为3。

【例5-2】一棵度为2的树与一棵二叉树有什么区别?解:度为2的树有两个分支,但分支没有左右之分;一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。

【例5-3】树与二叉树有什么区别?解:区别有两点:(1)二叉树的一个结点至多有两个子树,树则不然;(2)二叉树的一个结点的子树有左右之分,而树的子树没有次序。

【例5-4】分别画出具有3个结点的树和三个结点的二叉树的所有不同形态。

解:如图5-2(a)所示,具有3个结点的树有两种不同形态。

图5-2(a)如图5-2(B)所示,具有3个结点的二叉树有以下五种不同形态。

图5-2(b)【例5-5】如图5-3所示的二叉树,试分别写出它的顺序表示和链接表示(二叉链表)。

解:(1)顺序表示。

(2)该二叉树的二叉链表表示如图5-4所示。

【例5-6】试找出满足下列条件的所有二叉树:(1)先序序列和中序序列相同; (2)中序序列和后序序列相同; (3)先序序列和后序序列相同。

解:(1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树;(2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树;(3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。

【例5-7】如图5-5所示的二叉树,要求:(1)写出按先序、中序、后序遍历得到的结点序列。

(2)画出该二叉树的后序线索二叉树。

解: (1) 先序遍历序列:ABDEFC 中序遍历序列:DEFBAC 后序遍历序列:FEDBCA (2)其后序线索二叉树如图5-6所示。

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

习题五树与二叉树1一、选择题1、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足。

A、所有的结点均无左孩子B、所有的结点均无右孩子C、只有一个叶子结点D、是任意一棵二叉树2、一棵完全二叉树上有1001个结点,其中叶子结点的个数是。

A、250B、500C、254D、505E、以上答案都不对3、以下说法正确的是。

A、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树后序遍历序列中的最后一个结点B、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树中序遍历序列中的最后一个结点C、在二叉树中,具有两个子女的父结点,在中序遍历序列中,它的后继结点最多只能有一个子女结点D、在二叉树中,具有一个子女的父结点,在中序遍历序列中,它没有后继子女结点4、以下说法错误的是 C 。

A、哈夫曼树是带权路径长度最短得数,路径上权值较大的结点离根较近B、若一个二叉树的树叶是某子树中序遍历序列中的第一个结点,则它必是该子树后序遍历序列中的第一个结点C、已知二叉树的前序遍历和后序遍历并不能唯一地确定这棵树,因为不知道树的根结点是哪一个D、在前序遍历二叉树的序列中,任何结点其子树的所有结点都是直接跟在该结点之后的5、一棵有124个叶结点的完全二叉树,最多有个结点。

A、247B、248C、249D、250E、2516、任何一棵二叉树的叶结点在前(先)序、中序和后序遍历序列中的相对次序。

A、不发生变化B、发生变化C、不能确定7、设a、b为一棵二叉树上的两个结点。

在中序遍历时,a在b前面的条件是。

A、a在b的右方B、a在b的左方C、a是b的祖先D、a是b的子孙8、设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含的结点总数为。

A、k+1B、2kC、2k-1D、2k+19、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有个结点。

A、13B、12C、26D、2510、下面几个符号串编码集合中,不是前缀编码的是。

A、{0,10,110,1111}B、{11,10,001,101,0001}C、{00,010,0110,1000}D、{b,c,aa,ac,aba,abb,abc}11、欲实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳的方案是二叉树采用存储结构。

A、三叉链表B、广义表C、二叉链表D、顺序表12、以下说法错误的是。

A、存在这样的二叉树,对它采用任何次序遍历其结点访问序列均相同B、二叉树是树的特殊情形C、由树转换成二叉树,其根结点的右子树总是空的D、在二叉树只有一棵子树的情况下也要明确指出该子树是左子树还是右子树13、树的基本遍历策略可分为先根遍历和后根遍历,二叉树的基本遍历策略可分为先序、中序和后序三种遍历。

我们把由树转化得到的二叉树称该树对应的二叉树,则下面是正确的。

A、树的先根遍历序列与其对应的二叉树先序遍历序列相同B、树的后根遍历序列与其对应的二叉树后序遍历序列相同C、树的先根遍历序列与其对应的二叉树中序遍历序列相同D、以上都不对14、若以二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序。

则该二叉树是。

A、二叉排序树B、哈夫曼树C、堆15、下列有关二叉树的说法正确的是。

A、二叉树的度为2B、一棵二叉树度可以小于2C、二叉树中至少有一个结点的度为2D、二叉树中任一个结点的度都为216、某二叉树中序序列为ABCDEFG,后序序列为BDCAFGE,则前序序列是。

A、EGFACDBB、EACBDGFC、EAGCFBDD、上面的都不对17、对二叉排序树进行遍历,可以得到该二叉树所有结点构成的排序序列。

A、前序B、中序C、后序D、按层次18、由二叉树的前序和后序遍历序列唯一地确定这棵二叉树。

A、能B、不能19、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为个。

A、4B、5C、6D、720、在一棵深度为h的完全二叉树中,所含结点的个数不小于。

A、2hB、2h+1C、2h-1D、2h-121、在一棵具有n个结点的二叉树第i层上,最多具有个结点。

A、2iB、2i+1C、2i-1D、2n22、在下列情况中,可称为二叉树的是。

A、每个结点至多有两棵子树的树B、哈夫曼树C、每个结点至多有两棵子树的有序树D、每个结点只有一棵右子树E、以上答案都不对二、填空题1、8层完全二叉树至少有 128 个结点,拥有100个结点的完全二叉树的最大层数为7 。

2、树在计算机内的表示方式有双亲表示法、孩子表示法、孩子兄弟表示法。

3、一棵有n个结点的满二叉树有0 个度为1的结点,有┕n/2┛个分支(非终端)结点和┕n/2┛+1 个叶子,该满二叉树的深度为┕log2n┛+1 。

4、若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是孩子树的前序遍历序列中的最后一个结点。

5、一棵共有n个结点的树,其中所有分支结点的度均为k,则该树中的叶子结点个数为(n×(k-1)+1)/k 。

6、深度为k(设根的层数为1)的完全二叉树至少有2k-1个结点,至多有2k-1 个结点。

7、设只包含根结点的二叉树高度为0,则高度为k的二叉树最大结点数为2k+1-1 ,最小结点数为k+1 。

8、一棵完全二叉树有999个结点,它的深度为10。

9、对于一棵具有n个结点的树,该树中所有结点的度数之和为 n-1。

10、有n个结点并且其高度为n的二叉树有2n-1个。

11、一棵具有n个结点的二叉树,若它有n0个叶子结点,则该二叉树上度为1的结点n1= n-2n0+1 。

12、若一棵二叉树的叶子数为n0,则该二叉树中左、右子树皆非空的结点个数为n0-1 。

13、设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有2n0-1个结点。

14、若以{4、5、6、7、8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是69 。

三、判断题1、完全二叉树的某结点若无左孩子,则它必是叶结点。

(对)2、存在这样的二叉树,对它采用任何次序的遍历,结果相同。

(对)3、二叉树就是结点度为2的树。

(错)4、二叉树中不存在度大于2的结点,当某个结点只有一棵子树时无所谓左、右子树。

(错)5、已知二叉树的前序遍历序列和后序遍历序列并不能唯一地确定这棵树,因为不知道树的根结点是哪一个。

(错)6、在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况应作特殊处理。

(错)7、中序遍历一棵二叉排序树的结点就可得到排好序的结点序列。

(对)8、将一棵树转换成二叉树后,根结点没有左子树。

(错)9、用树的前序遍历和中序遍历可以导出树的后序遍历。

(对)10、哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。

(对)11、不使用递归也能实现二叉树前序、中序和后序遍历。

(对)习题五树与二叉树21. 填空题⑴树是n(n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m(m>0)个()的集合,每个集合都是根结点的子树。

【解答】有且仅有一个,互不相交⑵树中某结点的子树的个数称为该结点的(),子树的根结点称为该结点的(),该结点称为其子树根结点的()。

【解答】度,孩子,双亲⑶一棵二叉树的第i(i≥1)层最多有()个结点;一棵有n(n>0)个结点的满二叉树共有()个叶子结点和()个非终端结点。

【解答】2i-1,(n+1)/2,(n-1)/2【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。

⑷设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(),最小值是()。

【解答】2h -1,2h-1【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。

⑸深度为k的二叉树中,所含叶子的个数最多为()。

【解答】2k-1【分析】在满二叉树中叶子结点的个数达到最多。

⑹具有100个结点的完全二叉树的叶子结点数为()。

【解答】50【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编号为50,也就是说,从编号51开始均为叶子。

⑺已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点。

则该树中有()个叶子结点。

【解答】12【分析】根据二叉树性质3的证明过程,有n0=n2+2n3+1(n0、n2、n3分别为叶子结点、度为2的结点和度为3的结点的个数)。

⑻某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是()。

【解答】CDBGFEA【分析】根据前序遍历序列和后序遍历序列将该二叉树构造出来。

⑼在具有n个结点的二叉链表中,共有()个指针域,其中()个指针域用于指向其左右孩子,剩下的()个指针域则是空的。

【解答】2n,n-1,n+1⑽在有n个叶子的哈夫曼树中,叶子结点总数为(),分支结点总数为()。

【解答】n,n-1【分析】n-1个分支结点是经过n-1次合并后得到的。

已知二叉树的中序和后序序列分别为CBEDAFIGH和CEDBIFHGA,试构造该二叉树。

对给定的一组权值W=(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度。

【解答】构造的哈夫曼树如图5-13所示。

树的带权路径长度为:WPL=2×4+3×4+5×3+7×3+8×3+9×2+11×2=120二叉树先根序、后根序、中根序遍历的速算法(解题技巧)经过研究我找出了一种不用画图,由先(后)根序遍历和中根序遍历迅速确定遍历结果的办法。

谨以此文献给智商与我同级而又不得不研究算法的朋友。

抽象思维太差,用例子来说明吧。

下面这个是后根遍历的算法。

例1:已知某二叉树的先根序遍历为ABCDEFG,中根序遍历为CDBAFEG,则它的后根序遍历为_________解法如下:1、确定树根。

由先序遍历知道,树根为A。

2、分离左、右子树。

由中根序遍历知,A左面的为CDB左子树结点,右面的FEG为右子树结点。

把先根序遍历也分成左、右子树结点,BCD、EFG。

前根序遍历BCD EFG中根序遍历CDB FEG3、分别把先根序遍历左、右子树结点抄过来,写的时候要从右往左写,本例中,依次写下B、C、D、,E、F、G,结果是DCB GFE。

当然不是简单到这种程序。

上面只是个原理。

抄的过程应该是这样的:盯着前根序的,瞅着中根序的。

如果要抄的先根序中的结点在中根序中是最左/右边,则直接抄过来;如果不是,则把这个结点左边的结点先放记在右根序的最左边,然后继续抄。

相关文档
最新文档