树结构习题集及规范标准答案
树结构习题及答案
第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. 不相交的树的聚集称之为森林。
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)次序的遍历实现编号。
数据结构树和二叉树习题及答案
习题六树和二叉树一、单项选择题1.以下说法错误的是()A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种”分支层次”结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是()A.任何一棵二叉树中至少有一个结点的度为 2B.任何一棵二叉树中每个结点的度都为 2C.任何一棵二叉树中的度肯定等于 2D.任何一棵二叉树中的度可以小于 23.讨论树、森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示()A.有序数据元素 B .无序数据元素C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C .15 D .不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1, M2和M3与森林F对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B .M1+M2 C .M3 D .M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A.250 B .500 C .254 D .505 E .以上答案都不对8.设给定权值总数有n 个,其哈夫曼树的结点总数为()A.不确定 B . 2n C . 2n+1 D . 2n-19.二叉树的第I层上最多含有结点数为()I I-1 I-1 IA.2I B .2I-1-1 C .2I-1D .2I-110.一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有()结点A.2h B .2h-1 C .2h+1 D .h+111.利用二叉链表存储树,则根结点的右指针是()。
数据结构-树习题
数据结构-树习题第六章树⼀、选择题1、⼆叉树的深度为k,则⼆叉树最多有( C )个结点。
A. 2kB. 2k-1C. 2k-1D. 2k-12、⽤顺序存储的⽅法,将完全⼆叉树中所有结点按层逐个从左到右的顺序存放在⼀维数组R[1..N]中,若结点R[i]有右孩⼦,则其右孩⼦是(B )。
A. R[2i-1]B. R[2i+1]C. R[2i]D. R[2/i]3、设a,b为⼀棵⼆叉树上的两个结点,在中序遍历时,a在b前⾯的条件是( B )。
A. a在b的右⽅B. a在b的左⽅C. a是b的祖先D. a是b的⼦孙4、设⼀棵⼆叉树的中序遍历序列:badce,后序遍历序列:bdeca,则⼆叉树先序遍历序列为()。
A. adbceB. decabC. debacD. abcde5、在⼀棵具有5层的满⼆叉树中结点总数为(A)。
A. 31B. 32C. 33D. 166、由⼆叉树的前序和后序遍历序列( B )惟⼀确定这棵⼆叉树。
A. 能B. 不能7、某⼆叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左⼦树中结点数⽬为( C )。
A. 3B. 2C. 4D. 58、若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为( C )。
A. 67B. 68C. 69D. 709、将⼀棵有100个结点的完全⼆叉树从根这⼀层开始,每⼀层上从左到右依次对结点进⾏编号,根结点的编号为1,则编号为49的结点的左孩⼦编号为( A )。
A. 98B. 99C. 50D. 4810、表达式a*(b+c)-d的后缀表达式是( B )。
A. abcd+-B. abc+*d-C. abc*+d-D. -+*abcd11、对某⼆叉树进⾏先序遍历的结果为ABDEFC,中序遍历的结果为DBFEAC,则后序遍历的结果是( B )。
A. DBFEACB. DFEBCAC. BDFECAD. BDEFAC12、树最适合⽤来表⽰( C )。
数据结构习题及答案与实验指导(树和森林)7
第7章树和森林树形结构是一类重要的非线性结构。
树形结构的特点是结点之间具有层次关系。
本章介绍树的定义、存储结构、树的遍历方法、树和森林与二叉树之间的转换以及树的应用等内容。
重点提示:●树的存储结构●树的遍历●树和森林与二叉树之间的转换7-1 重点难点指导7-1-1 相关术语1.树的定义:树是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:①有且仅有一个特定的称为根的结点;②其余的结点可分为m(m>=0)个互不相交的子集T1,T2,…,T m,其中每个子集本身又是一棵树,并称为根的子树。
要点:树是一种递归的数据结构。
2.结点的度:一个结点拥有的子树数称为该结点的度。
3.树的度:一棵树的度指该树中结点的最大度数。
如图7-1所示的树为3度树。
4.分支结点:度大于0的结点为分支结点或非终端结点。
如结点a、b、c、d。
5.叶子结点:度为0的结点为叶子结点或终端结点。
如e、f、g、h、i。
6.结点的层数:树是一种层次结构,根结点为第一层,根结点的孩子结点为第二层,…依次类推,可得到每一结点的层次。
7.兄弟结点:具有同一父亲的结点为兄弟结点。
如b、c、d;e、f;h、i。
8.树的深度:树中结点的最大层数称为树的深度或高度。
9.有序树:若将树中每个结点的子树看成从左到右有次序的(即不能互换),则称该树为有序树,否则称为无序树。
10.森林:是m棵互不相交的树的集合。
7-1-2 树的存储结构1.双亲链表表示法以图7-1所示的树为例。
(1)存储思想:因为树中每个元素的双亲是惟一的,因此对每个元素,将其值和一个指向双亲的指针parent构成一个元素的结点,再将这些结点存储在向量中。
(2)存储示意图:-1 data:parent:(3)注意: Parrent域存储其双亲结点的存储下标,而不是存放结点值。
下面的存储是不正确的:-1 data:parent:2.孩子链表表示法(1)存储思想:将每个数据元素的孩子拉成一个链表,链表的头指针与该元素的值存储为一个结点,树中各结点顺序存储起来,一般根结点的存储号为0。
数据结构树形结构章节练习含答案
数据结构…树形结构章节练习一.单项选择题1,如图所示的4棵二叉树中,_c_不是完全二叉树。
(A) (B) (C) (D)2.如图所示的4棵二叉树,_b_是平衡二叉树。
(A) (B) (C) (D)在线索化二叉树中,t所指结点没有左子树的充要条件是_b—。
A) t->left=NULL B) t->ltag= 1C) t->Itag=l且t->lcft=NULL D)以上都有不对二叉树按某种顺序线索化后,任一结点均有指向其前驱和后继的线索,这种说法_b—oA)正确B)错误二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前而,这种说法_a—°A)正确B)错误由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法_b—o A)正确B)错误设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为_b—。
A) 2hB)2h-l C) 2h+l D)h+1如图所示二叉树的中序遍历序列是_b —。
A) abcdgef B) dfebage C) dbaefcg D) defbagc9•已知某二叉树的后序適历序列是dabec,中序遍历序列是debac,它的前序遍历序列是_d—°A) acbed B) decab C) deabc D) cedba如果T2是由有序树T转换而来的二叉树,那么T中结点的前序就是T2中结点的—。
A)前序B)中序C)后序D)层次序如果T2是由有序树T转换而来的二叉结,那么T中结点的后序就是T2中结点的_b—。
A)前序B )中序C)后序D)层次序某二叉树的前序遍历结点访问顺序是abdgcefh, 中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是_d _____________________ 。
A) bdgcefha B) gdbecflia C) bdgaechf D) gdbehfca二叉树为二叉排序树的充分必要条件是其任一结点的值均大于英左孩子的值、小于其右孩子的值。
数据结构(树)习题与答案
一、单选题1、树最适合用来表示()。
A.元素之间具有分支层次关系的数据B.有序数据元素C.元素之间无联系的数据D.无序数据元素正确答案:A2、在树结构中,若结点A有三个兄弟,且B是A的双亲,则B的度是()。
A.5B.4C.3D.2正确答案:B3、下列陈述中正确的是()。
A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中每个结点最多只有两棵子树,并且有左右之分D.二叉树中必有度为2的结点正确答案:C4、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至少为()。
A.2h-1B.2h+1C.h+1D.2h正确答案:A解析: A、除根之外,每层只有两个结点,且互为兄弟。
5、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至多为()。
A.2h-1B. 2h+1-1C. 2h-1-1D. 2h+1正确答案:A解析: A、构成完全二叉树。
6、具有n(n>0)个结点的完全二叉树的深度为()。
A.⌊ log2(n)⌋ +1B.⌈log2(n)⌉C.⌊ log2(n)⌋D.⌈log2(n)+1⌉正确答案:A7、具有32个结点的完全二叉树有()个叶子结点。
A.16B.14C.15D.17正确答案:A解析: A、对结点按层序编号,32号结点的双亲结点编号为16,则17至32号结点都为叶子,共16个。
8、一棵完全二叉树的第6层上有23个叶子结点,则此二叉树最多有()结点。
A.81B.78C.80D.79正确答案:A解析: A、完全二叉树的叶子结点只能在最下两层,要使结点最多,这棵二叉树深度为7,前6层结点数共为63,第6层有32个结点,其中叶子为23个,非叶子为9个,它们的度都为2,第7层只有18个结点,故整棵二叉树结点数为81.9、具有3个结点的二叉树有()种。
A.6B.3C.5D.4正确答案:C10、若一棵二叉树有9个度为2的结点,5个度为1的结点,则叶子结点的个数为()。
数据结构树和二叉树习题(有答案)
E F D GAB/+ +* - C* 第六章树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( )A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DED. -+A*BC/DE【北京航空航天大学 1999 一、3 (2分)】2.算术表达式a+b*(c+d/e )转为后缀表达式后为()【中山大学 1999 一、5】A .ab+cde/*B .abcde/+*+C .abcde/*++ D.abcde*/++3. 设有一表示算术表达式的二叉树(见下图),它所表示的算术表达式是()【南京理工大学1999 一、20(2分)】A. A*B+C/(D*E)+(F-G)B. (A*B+C)/(D*E)+(F-G)C. (A*B+C)/(D*E+(F-G ))D. A*B+C/D*E+F-G4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为()A .5 B.6 C.7D .8【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是()【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③ B .②③④ C.②④D .①④6. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n,森林F中第一棵树的结点个数是()A .m-nB .m-n-1C .n+1D .条件不足,无法确定【南京理工大学2000 一、17(1.5分)】7. 树是结点的有限集合,它((1))根结点,记为T 。
其余结点分成为m (m>0)个((2))的集合T1,T2,…,Tm ,每个集合又都是树,此时结点T 称为Ti 的父结点,Ti 称为T 的子结点(1≤i ≤m )。
第六章树的习题
六、树和二叉树一、选择题:1、在具有n个结点的完全二叉树中,结点i(i>1)的父结点是(D )A.2i B.不存在C.2i+1 D.⌊ i/2⌋3、下列陈述中正确的(A )A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分4、以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为( C )A.2n - 1 B.n - 1 C.n + 1 D.2n + 15、将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为(B )A.99 B.98 C.50 D.486、在一棵具有五层的满二叉树中,结点总数为( A )A.31 B.32 C.33 D.167、在一棵二叉树中,第5层上的结点数最多为(C )A.8 B.15 C.16 D.328、由二叉树的(B)遍历,可以惟一确定一棵二叉树A.前序和后序B.前序和中序C.后序D.中序9、具有35个结点的完全二叉树的深度为( B )。
A.5B.6C.7D.810、已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是( C )。
A.E B. F C. G D. J11、由4个结点构造出的不同的二叉树个数共有( C )。
A.8 B. 10 C.12 D.1412、在完全二叉树中,如果一个结点是叶子结点,则它没有(D )。
A.左孩子结点B. 右孩子结点C.左、右孩子结点D.左、右孩子结点和兄弟结点13、深度为6的二叉树最多有( B )个结点。
A.64 B.63 C.32 D.3114、二叉树使用二叉链表存储,若p指针指向二叉树的一个结点,当p->lchild=NULL时,则( A )。
A.p结点左儿子为空B.p结点有右儿子C.p结点右儿子为空D.p结点有左儿子15、在具有n个结点的完全二叉树中,若结点i有左孩子,则结点i的左孩子编号为( A )。
第6章_数据结构习题题目及答案_树和二叉树_参考答案
一、基础知识题6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。
【解答】设度为m的树中度为0,1,2,…,m的结点数分别为n0, n1, n2,…, nm,结点总数为n,分枝数为B,则下面二式成立n= n0+n1+n2+…+nm (1)n=B+1= n1+2n2 +…+mnm+1 (2)由(1)和(2)得叶子结点数n0=1+即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=86.2一棵完全二叉树上有1001个结点,求叶子结点的个数。
【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则n= n0+ n1+ n2n=2n0+n1-11002=2n0+n1由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。
本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子,……。
虽然解法也对,但步骤多且复杂,极易出错。
6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。
【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。
6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。
【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。
若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。
6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。
《木结构设计》大二下计算题12个常考题集及答案
《木结构设计》大二下计算题12个常考题集(后附答案)1. 木材强度计算一根松木梁,其截面尺寸为100mm x 200mm,受到均布载荷作用,最大弯矩出现在梁中点,为20kNm。
若该松木的抗弯强度为60MPa,请计算此梁是否满足强度要求。
2. 梁的挠度计算一根简支木梁,长度为6m,受均布载荷q=5kN/m作用,梁的弹性模量为10GPa,截面惯性矩I=4x10-6m4。
请计算梁中点处的挠度。
3. 柱的稳定性计算一根细长木柱,高度为8m,截面尺寸为100mm x 100mm,受到轴向压力P=50kN。
若该木材的弹性模量为10GPa,请利用欧拉公式计算此柱的临界压力,并判断其是否会发生失稳。
4. 桁架结构内力计算一个简单桁架结构由四根杆件组成,其中两根为水平杆,两根为斜杆。
若桁架顶点受到一个竖直向下的力F=10kN,请计算各杆件的内力。
5. 木材连接设计设计一个木结构中的螺栓连接,要求承受拉力F=15kN。
请选择合适的螺栓直径、数量和预紧力,以确保连接的安全。
6. 木结构楼板设计设计一个木结构楼板,要求承受均布活载荷为3kN/m²,楼板尺寸为4m x 6m。
请选择合适的木材种类、截面尺寸和跨度,以满足强度和刚度要求。
7. 木屋架设计— 1 —设计一个木屋架的屋脊和斜梁,要求承受雪载荷和风载荷。
请计算所需木材的截面尺寸和跨度,以确保结构的稳定性和安全性。
8. 木材的含水率计算一块木材在烘干前的质量为100kg,烘干后的质量为80kg。
请计算该木材的含水率。
9. 木结构基础设计设计一个木结构房屋的基础,要求承受上部结构传来的载荷,并确保基础的稳定性和安全性。
请考虑地质条件、载荷大小和木材特性等因素。
10. 木材的耐久性计算一种木材在户外环境下使用,其腐朽速度为每年损失厚度的0.5%。
若该木材初始厚度为50mm,请计算其在户外环境下使用10年后的剩余厚度。
11. 木结构抗震设计设计一个位于地震活跃地区的木结构房屋,要求能够承受8级地震。
树及其表示方法练习题(含解析)
树及其表示方法练习题(含解析)树及其表示方法练题(含解析)问题1. 什么是树结构?2. 树的主要特点是什么?3. 请列举几种常见的树的表示方法。
4. 什么是二叉树?5. 二叉树的特点是什么?6. 请解释前序遍历、中序遍历和后序遍历。
7. 什么是二叉查找树?8. 请解释平衡二叉树。
9. 请介绍一种常见的平衡二叉树。
解析1. 树结构是一种非线性的数据结构,它由节点和边组成。
每个节点可以有零个或多个子节点,其中只有一个节点没有父节点,该节点被称为根节点。
2. 树的主要特点包括:- 每个节点有零个或多个子节点。
- 除了根节点外,每个节点有且仅有一个父节点。
- 每个节点都通过边与其他节点连接起来。
- 在树中,从根节点到任意节点有且只有一条路径。
3. 常见的树的表示方法包括:- 儿子-兄弟表示法(又称为左孩子右兄弟表示法)- 邻接表表示法- 邻接矩阵表示法4. 二叉树是一种特殊的树结构,每个节点最多有两个子节点。
5. 二叉树的特点包括:- 每个节点最多有两个子节点,分别称为左子节点和右子节点。
- 左子节点的值小于等于父节点的值,右子节点的值大于等于父节点的值。
- 左子树和右子树也是二叉树。
6. - 前序遍历:先访问根节点,然后递归地对左子树进行前序遍历,最后递归地对右子树进行前序遍历。
- 中序遍历:先递归地对左子树进行中序遍历,然后访问根节点,最后递归地对右子树进行中序遍历。
- 后序遍历:先递归地对左子树进行后序遍历,然后递归地对右子树进行后序遍历,最后访问根节点。
7. 二叉查找树(BST)是一种特殊的二叉树,它满足以下条件:- 对于任意节点,其左子树上的节点的值小于该节点的值,右子树上的节点的值大于该节点的值。
- 左子树和右子树也是二叉查找树。
8. 平衡二叉树是一种二叉查找树,它的左子树和右子树的高度差不超过1。
9. AVL树是一种常见的平衡二叉树,它通过旋转操作来保持树的平衡性。
在AVL树中,任意节点的左子树和右子树的高度差不超过1,并且左子树和右子树也都是AVL树。
数据结构二叉树习题含答案
2.1 创建一颗二叉树创建一颗二叉树,可以创建先序二叉树,中序二叉树,后序二叉树。
我们在创建的时候为了方便,不妨用‘#’表示空节点,这时如果先序序列是:6 4 2 3 # # # # 5 1 # # 7 # #,那么创建的二叉树如下:下面是创建二叉树的完整代码:穿件一颗二叉树,返回二叉树的根2.2 二叉树的遍历二叉树的遍历分为:先序遍历,中序遍历和后序遍历,这三种遍历的写法是很相似的,利用递归程序完成也是灰常简单的:2.3 层次遍历层次遍历也是二叉树遍历的一种方式,二叉树的层次遍历更像是一种广度优先搜索(BFS)。
因此二叉树的层次遍历利用队列来完成是最好不过啦,当然不是说利用别的数据结构不能完成。
2.4 求二叉树中叶子节点的个数树中的叶子节点的个数= 左子树中叶子节点的个数+ 右子树中叶子节点的个数。
利用递归代码也是相当的简单,2.5 求二叉树的高度求二叉树的高度也是非常简单,不用多说:树的高度= max(左子树的高度,右子树的高度) + 12.6 交换二叉树的左右儿子交换二叉树的左右儿子,可以先交换根节点的左右儿子节点,然后递归以左右儿子节点为根节点继续进行交换。
树中的操作有先天的递归性。
2.7 判断一个节点是否在一颗子树中可以和当前根节点相等,也可以在左子树或者右子树中。
2.8 求两个节点的最近公共祖先求两个节点的公共祖先可以用到上面的:判断一个节点是否在一颗子树中。
(1)如果两个节点同时在根节点的右子树中,则最近公共祖先一定在根节点的右子树中。
(2)如果两个节点同时在根节点的左子树中,则最近公共祖先一定在根节点的左子树中。
(3)如果两个节点一个在根节点的右子树中,一个在根节点的左子树中,则最近公共祖先一定是根节点。
当然,要注意的是:可能一个节点pNode1在以另一个节点pNode2为根的子树中,这时pNode2就是这两个节点的最近公共祖先了。
显然这也是一个递归的过程啦:可以看到这种做法,进行了大量的重复搜素,其实有另外一种做法,那就是存储找到这两个节点的过程中经过的所有节点到两个容器中,然后遍历这两个容器,第一个不同的节点的父节点就是我们要找的节点啦。
数据结构 第五章树答案
第五章 树(答案)一、选择题1、二叉树的第i 层最多有( )个结点。
A .2i B. 2i C. 2i-1 D.2i -12.对于一棵满二叉树,高度为h ,共有n 个结点,其中有m 个叶子结点,则( )A .n=h+m B.h+m=2n C.m=h-1 D.n=2h -1 3.在一棵二叉树中,共有16个度为2的结点,则其共有( )个叶子结点。
A .15 B.16 C.17 D.184. 一棵完全二叉树中根结点的编号为1,而且编号为23的结点有左孩子但没有右孩子,则此树中共有( )个结点。
A .24 B.45 C.46 D.47 5.下述编码那一组不是前缀码( )A .00,01,10,11 B.0,1,00,11 C.0,10,110,111 D.1,01,001,000 6.某二叉树的中序序列和后序序列相同,则这棵二叉树必然是( )A .空树B .空树或任一结点均无左孩子的非空二叉树C .空树或任一结点均无右孩子的非空二叉树D .空树或仅有一个结点的二叉树7.设n,m 为一棵二叉树上的两个结点,在中序遍历时,n 在m 前的条件是( )A .n 在m 的右边 B.n 是m 的祖先C .n 在m 的左边 D.n 是m 的子孙8、假定中根遍历二叉树的定义如下:若二叉树为非空二叉树,则中根遍历根的右子树;访问根结点;中根遍历根的左子树。
按此定义遍历下图所示的二叉树,遍历的结果为: A 、 DBEAFHGC A B 、 C GHFADBE B C C 、 E BDAFHGC E D FD 、 FHGCADBE GH9、文中出现的字母为A 、B 、C 、D 和E ,每个字母在电文中出现的次数分别为9、27、3、5和11。
按哈夫曼编码(构造时左小右大),则字母C 的编码应是:A 、10B 、0110C 、1110D 、1100 10、设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( )A .5B .6C .7D .8 11.算术表达式a+b*(c+d/e )转为后缀表达式后为( )A .ab+cde/*B .abcde/+*+C .abcde/*++D .12. 设有一表示算术表达式的二叉树(见下图),它所表示的算术表达式是( )A. A*B+C/(D*E)+(F-G)B. (A*B+C)/(D*E)+(F-G)C. (A*B+C)/(D*E+(F-G ))D. A*B+C/D*E+F-G13.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( ) A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D. -+A*BC/DE14.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )A .9B .11C .15D .不确定15.树的后根遍历序列等同于该树对应的二叉树的( ).A. 先序序列B. 中序序列C. 后序序列16.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。
数据结构树和二叉树习题及答案
数据结构树和二叉树习题及答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#习题六树和二叉树一、单项选择题1.以下说法错误的是 ( )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是 ( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示 ( )A.有序数据元素 B.无序数据元素C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B.M1+M2 C.M3 D.M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250 B. 500 C.254 D.505 E.以上答案都不对8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )A.不确定 B.2n C.2n+1 D.2n-19.二叉树的第I层上最多含有结点数为()A.2I B. 2I-1-1 C. 2I-1 D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是()。
二叉树树形结构例题
二叉树树形结构例题二叉树是一种常见的树形数据结构,它由节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。
下面是一个关于二叉树树形结构的例题。
假设我们有一个二叉树如下所示:A./ \。
B C./ \ \。
D E F.这棵二叉树由6个节点组成,节点A是根节点,节点B和节点C是A的子节点,节点D和节点E是B的子节点,节点F是C的子节点。
现在,我将从多个角度回答这个例题,以便全面理解二叉树的树形结构。
1. 结构角度:从结构角度看,二叉树是一种非线性的树形结构,每个节点最多有两个子节点。
根节点是树的起点,每个节点通过边连接,形成一个层次结构。
2. 节点角度:每个节点都有自己的值和指向左右子节点的指针。
在例题中,节点A的值是A,节点B的值是B,以此类推。
节点之间通过指针建立关系,形成树的结构。
3. 层次角度:二叉树可以按照层次进行遍历,从根节点开始,逐层遍历每个节点。
在例题中,根节点A位于第一层,节点B和节点C位于第二层,节点D、E和F位于第三层。
4. 深度角度:二叉树的深度是指从根节点到最远叶子节点的最长路径上的节点个数。
在例题中,树的深度为3,因为从根节点A到最远叶子节点F的路径上经过3个节点。
5. 遍历角度:二叉树可以按照不同的方式进行遍历,常见的有前序遍历、中序遍历和后序遍历。
前序遍历是先访问根节点,然后递归遍历左子树和右子树;中序遍历是先递归遍历左子树,然后访问根节点,最后递归遍历右子树;后序遍历是先递归遍历左子树和右子树,最后访问根节点。
6. 插入和删除角度:二叉树可以动态地插入和删除节点。
插入节点时,需要找到合适的位置,并调整树的结构;删除节点时,需要考虑不同情况下的处理方式,如删除叶子节点、删除只有一个子节点的节点、删除有两个子节点的节点等。
7. 平衡角度:在某些情况下,二叉树可能会不平衡,即左右子树的高度差过大。
为了提高树的效率,可以采用平衡二叉树,如AVL树、红黑树等,保持左右子树的高度差不超过1,从而提高插入、删除和查找的效率。
二叉树数据结构习题集答案
二叉树数据结构习题集答案二叉树数据结构习题集答案在学习数据结构与算法的过程中,二叉树是一个非常重要的概念。
它是一种常见的树状结构,由节点和边组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。
二叉树的特点使得它在各种应用中都有广泛的应用,例如搜索算法、排序算法等。
为了更好地掌握二叉树的概念和应用,下面将给出一些常见的二叉树习题,并给出相应的答案。
1. 求二叉树的最大深度最大深度是指从根节点到最远叶子节点的最长路径上的节点数。
要求二叉树的最大深度,可以使用递归的方式来实现。
具体的代码如下:```pythondef maxDepth(root):if root is None:return 0left_depth = maxDepth(root.left)right_depth = maxDepth(root.right)return max(left_depth, right_depth) + 1```2. 判断二叉树是否是平衡二叉树平衡二叉树是指任意节点的左右子树的高度差不超过1的二叉树。
要判断一个二叉树是否是平衡二叉树,可以使用递归的方式来实现。
具体的代码如下:```pythondef isBalanced(root):if root is None:return Trueleft_depth = maxDepth(root.left)right_depth = maxDepth(root.right)if abs(left_depth - right_depth) > 1:return Falsereturn isBalanced(root.left) and isBalanced(root.right)```3. 求二叉树的最小深度最小深度是指从根节点到最近叶子节点的最短路径上的节点数。
要求二叉树的最小深度,同样可以使用递归的方式来实现。
具体的代码如下:```pythondef minDepth(root):if root is None:return 0if root.left is None and root.right is None:return 1if root.left is None:return minDepth(root.right) + 1if root.right is None:return minDepth(root.left) + 1return min(minDepth(root.left), minDepth(root.right)) + 1```4. 判断两个二叉树是否相同要判断两个二叉树是否相同,可以使用递归的方式来实现。
数据结构第6章 树习题+答案
第六章 树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( D )A .-A+B*C/DE B. -A+B*CD/E C .2. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( C ) A. A*B+C/(D*E)+(F-G) B. (A*B+C)/(D*E)+(F-G) C. (A*B+C)/(D*E+(F-G )) D. A*B+C/D*E+F-G 3. 在下述结论中,正确的是( D )①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③B .②③④C .②④D .①④4. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n,森林F 中第一棵树的结点个数是( A )A .m-nB .m-n-1C .n+1D .条件不足,无法确定5.设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。
A .M1B .M1+M2C .M3D .M2+M36. 设给定权值总数有n 个,其哈夫曼树的结点总数为( D )A .不确定B .2nC .2n+1D .2n-17.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A .2hB .2h-1C .2h+1D .h+18. 一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A .⎣logn ⎦+1B .logn+1C .⎣logn ⎦D .logn-19.深度为h 的满m 叉树的第k 层有( A )个结点。
(1=<k=<h)A .m k-1B .m k -1C .m h-1D .m h -110. 一棵树高为K 的完全二叉树至少有( C )个结点A .2k –1 B. 2k-1 –1 C. 2k-1 D. 2k11. 利用二叉链表存储树,则根结点的右指针是( C )。
第五部分 树 带答案
第五部分树带答案(共7页) -本页仅作为预览文档封面,使用时请删除本页-第五部分树一、选择题1.高度为h(h>0) 的二叉树最少有( A )个结点-1 C2.树型结构最适合用来描述( C )A.有序的数据元素B.无序的数据元素C.数据元素之间的具有层次关系的数据D.数据元素之间没有关系的数据3.有n(n>0)个结点的完全二叉树的深度是( D )。
A.log2(n)B.log2(n)+1C.log2(n+1)D.log2(n)+14. ( B )又是一棵满二叉树。
A.二叉排序树B.深度为5有31个结点的二叉树C.有15个结点的二叉树D.哈夫曼(Huffman)树5.深度为k的满二叉树有( B )个分支结点。
-1 C +16.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为( A )A CDBGFEAB CDBFGEAC CDBAGFED BCDA GFE7.二叉树第i(i>=1)层上至多有( C )结点。
A、2i b、2i c、2i-1d、2i-18.在一棵具有5层的满二叉树中结点总数为 ( A )。
A. 31B. 32C.33 D. 169.一个二叉树按顺序方式存储在一个维数组中,如图0 1 2 3 4 5 6 7 8 9 10 11 12 13 14A B C D E F G H I J则结点E 在二叉树的第( C )层。
A 、1B 、2C 、3D 、410.一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( C )A .4B .5C .6D .711. 在一棵二叉树上第5层的结点数最多是( B )A 8B 16C 32D 1512. 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为( B )。
A. 349B. 350C. 255D. 35113. 有n(n>0)个结点的完全二叉树的深度是( D )。
树结构-答案
填空1、在结点个数为n(n>1)的各棵树中,高度最小的树的高度是(2),高度最大的树的高度是(n)。
解:题目要求是树,并且结点个数大于1,所以最大高度n,最小高度2。
2、深度为k的完全二叉树,结点数至少有(2k-1)个,至多有(2k-1)。
解:深度为k的完全二叉树,结点数至少比深度为k-1的满二叉树多一个,所以是2k-1个,至多与深度为k的满二叉树结点个数相同,即2k-1 。
3、具有n个结点的二叉链表表示的二叉树中,一共有(2n)个指针域,其中只有(n-1)个用来指向结点的左右孩子,其余的(n+1)个指针域为NULL。
解:二叉链表中,每个结点有2个指针域,所以n个结点有2n个指针域。
二叉树中只可能包含度为0(即没有分支,也就是2个指针域都为NULL)的结点n0,度为1(即只有1个分支,也就是有1个指针域为NULL)的结点n1,度为2(即有2个分支,也就是2个指针域都不为NULL)的结点n2。
所以空指针域的个数为:2n0+n1。
由于n0+n1+n2=n,n2=n0-1,所以2n0+n1=n+1。
4、具有3个结点的二叉树有(5)种不同形态。
●分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
5、具有n个结点的完全二叉树,按层次编号(根结点为1号),则分支结点编号最大的序号是(n/2下取整),编号最小的序号是(1),叶子结点编号最大的序号是(n),编号最小的序号是(n/2上取整)。
解:完全二叉树:只可能包含度为0的结点n0,度为1的结点n1(由于对于深度为k的完全二叉树,前k-1层是满二叉树,第k层必须向左充满,所以度为1的结点最多只能有1个,即n1取值为0或者1),度为2的结点n2。
由于n0+n1+n2=n,n2=n0-1,所以:n0 =(n+1-n1)/2。
即n/2上取整。
6、任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为(n-2m+1)个。
解:n0=n2+1;n=n0+n2+n17、设树T的度为4,其中度为1、2、3和4的结点个数分别是4、2、1和1,则T中叶子结点的个数是(8)个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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-4【例5-6】试找出满足下列条件的所有二叉树:(1)先序序列和中序序列相同;(2)中序序列和后序序列相同;(3)先序序列和后序序列相同。
解:(1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树;(2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树;(3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。
【例5-7】如图5-5所示的二叉树,要求:(1)写出按先序、中序、后序遍历得到的结点序列。
(2)画出该二叉树的后序线索二叉树。
解: (1)先序遍历序列:ABDEFC中序遍历序列:DEFBAC 后序遍历序列:FEDBCA(2)其后序线索二叉树如图5-6所示。
bacdef图5-5图5-6【例5-8】将图5-7所示的树转换为二叉树。
解:第一步,加线。
第二步,抹线。
第三步,旋转。
过程如图5-8所示。
A图5-7BCDEFGHIKLMJA图5-8(a) 第一步 加线BCDEFGHIKLMJA图5-8(b) 第二步 抹线BCDEFGHIKLMJAB图5-8(c) 第三步 旋转CFDKGELHMIJ【例5-9】将如图5-9所示的二叉树转换为树。
解: 第一步,加线。
第二步,抹线。
第三步,调整。
过程如图5-10所示。
A B CDEFH IJ图5-9ABD HC FEJIBACD E F HIJ第一步 第二步 第三步BACD E F HIJ图5-10【例5-10】将如图5-11所示的森林转换成二叉树。
解: 步骤略,结果如图5-12所示。
CDEFGABHILJK图5-12图5-11CDEFGABHILJK【例5-11】假定用于通信的电文由8个字符A 、B 、C 、D 、E 、F 、G 、H 组成,各字母在电文中出现的概率为5%、25%、4%、7%、9%、12%、30%、8%,试为这8个字母设计哈夫曼编码。
解: 根据题意,设这8个字母对应的权值分别为(5,25,4,7,9,12,30,8),并且n=8。
(1)设计哈夫曼树的步骤如图5-13所示。
第一步:25 5 4 7 9 12 30 8第二步: 25 7 912 30 5 4 9 8 第四步: 25 7912 3081554918 第五步:25 912301591827第三步:25 79 12 30549815第七步: 25 30954 9187128 1527 4357 第八步:25 9549 1843 30712 8 1527 57100 图5-13(2)设计哈夫曼编码利用第八步得到的哈夫曼树,规定左分支用0表示,右分支用1表示,字母A、B、C、D、E、F、G、H的哈夫曼编码如下表示:A:0011 B:01 C:0010 D:1010E:000 F:100 G:11 H:1011习题5一、单项选择题1. 在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( 1. C)个。
A. 4B. 5C. 6D. 72. 假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为(2. B )个。
A. 15B. 16C. 17D. 473. 假定一棵三叉树的结点数为50,则它的最小高度为(3. C )。
A. 3B. 4C. 5D. 64. 在一棵二叉树上第4层的结点数最多为( 4. D)。
A. 2B. 4C. 6D. 85. 用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中R[1..n],结点R[i]若有左孩子,其左孩子的编号为结点(5. B)。
A. R[2i+1]B. R[2i]C. R[i/2]D. R[2i-1]6. 由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为(6.D )。
A. 24B. 48C. 72D. 537. 线索二叉树是一种(7. C)结构。
A. 逻辑B. 逻辑和存储C. 物理D. 线性8. 线索二叉树中,结点p没有左子树的充要条件是(8. B)。
A. p->lc=NULLB. p->ltag=1C. p->ltag=1 且p->lc=NULLD. 以上都不对9. 设n , m 为一棵二叉树上的两个结点,在中序遍历序列中n在m前的条件是(9. B)。
A. n在m右方B. n在m 左方C. n是m的祖先D. n是m的子孙10. 如果F是由有序树T转换而来的二叉树,那么T中结点的前序就是F中结点的(10.B )。
A. 中序B. 前序C. 后序D. 层次序11. 欲实现任意二叉树的后序遍历的非递归算法而不必使用栈,最佳方案是二叉树采用(11. A)存储结构。
A. 三叉链表B. 广义表C. 二叉链表D. 顺序12. 下面叙述正确的是(12. D)。
A. 二叉树是特殊的树B. 二叉树等价于度为2的树C. 完全二叉树必为满二叉树D. 二叉树的左右子树有次序之分13. 任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序(13. A )。
A. 不发生改变B. 发生改变C. 不能确定D. 以上都不对14. 已知一棵完全二叉树的结点总数为9个,则最后一层的结点数为(14. B )。
A. 1B. 2C. 3D. 415. 根据先序序列ABDC和中序序列DBAC确定对应的二叉树,该二叉树(15. A )。
A. 是完全二叉树B. 不是完全二叉树C. 是满二叉树D. 不是满二叉树二、判断题1. 二叉树中每个结点的度不能超过2,所以二叉树是一种特殊的树。
(1.×)2. 二叉树的前序遍历中,任意结点均处在其子女结点之前。
( 2.√)3. 线索二叉树是一种逻辑结构。
( 3.×)4. 哈夫曼树的总结点个数(多于1时)不能为偶数。
(4.√)5. 由二叉树的先序序列和后序序列可以唯一确定一颗二叉树。
(5.×)6. 树的后序遍历与其对应的二叉树的后序遍历序列相同。
(6.√)7. 根据任意一种遍历序列即可唯一确定对应的二叉树。
(7.√)8. 满二叉树也是完全二叉树。
(8.√)9. 哈夫曼树一定是完全二叉树。
(9.×)10. 树的子树是无序的。
(10.× )三、填空题1. 假定一棵树的广义表表示为A (B (E ),C (F (H ,I ,J ),G ),D ),则该树的度为_____,树的深度为_____,终端结点的个数为______,单分支结点的个数为______,双分支结点的个数为______,三分支结点的个数为_______,C 结点的双亲结点为_______,其孩子结点为_______和_______结点。
1. 3,4,6,1,1,2,A ,F ,G2. 设F 是一个森林,B 是由F 转换得到的二叉树,F 中有n 个非终端结点,则B 中右指针域为空的结点有_______个。
2. n+13. 对于一个有n 个结点的二叉树,当它为一棵________二叉树时具有最小高度,即为_______,当它为一棵单支树具有_______高度,即为_______。
3. 完全,2log (1)n +⎡⎤⎢⎥,最大,n4. 由带权为3,9,6,2,5的5个叶子结点构成一棵哈夫曼树,则带权路径长度为___。
4. 555. 在一棵二叉排序树上按_______遍历得到的结点序列是一个有序序列。
5. 中序6. 对于一棵具有n 个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为_______个,其中_______个用于链接孩子结点,_______个空闲着。
6. 2n ,n-1,n+17. 在一棵二叉树中,度为0的结点个数为n 0,度为2的结点个数为n 2,则n 0=______。
7. n 2+18. 一棵深度为k 的满二叉树的结点总数为_______,一棵深度为k 的完全二叉树的结点总数的最小值为_____,最大值为______。
8. 2k -1,2k-1,2k -19. 由三个结点构成的二叉树,共有____种不同的形态。
9. 510. 设高度为h 的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为____。
10. 2h -111. 一棵含有n 个结点的k 叉树,______形态达到最大深度,____形态达到最小深度。
11. 单支树,完全二叉树12. 对于一棵具有n个结点的二叉树,若一个结点的编号为i(1≤i≤n),则它的左孩子结点的编号为________,右孩子结点的编号为________,双亲结点的编号为________。
12. 2i,2i+1,i/2(或⎣i/2⎦)13. 对于一棵具有n个结点的二叉树,采用二叉链表存储时,链表中指针域的总数为_________个,其中___________个用于链接孩子结点,_____________个空闲着。
13. 2n,n-1,n+114. 哈夫曼树是指________________________________________________的二叉树。
14. 带权路径长度最小15. 空树是指________________________,最小的树是指_______________________。
15. 结点数为0,只有一个根结点的树16. 二叉树的链式存储结构有______________和_______________两种。
16. 二叉链表,三叉链表17. 三叉链表比二叉链表多一个指向______________的指针域。
17. 双亲结点18. 线索是指___________________________________________。