习题树和二叉树
树和二叉树习题集与答案解析
一、填空题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.利用二叉链表存储树,则根结点的右指针是()。
树和二叉树自测题
第6章树和二叉树自测题一、填空题1.树是一种________结构;在树结构中,________结点没有直接前趋;层次,根2.一棵树上的任何结点不包括根本身称为根的________;若B是A的子孙,则称A是B的________;子孙结点,祖先3.二叉树有______二叉树、______的二叉树、只有______的二叉树、只有______的二叉树、同时有______的二叉树五种基本形态;空、只有根结点、根和根的左子树、根和根的右子树、根和根的左右子树4.树在计算机内的表示方式有_______、_______、_________;双亲表示法、孩子表示法、双亲孩子表示法5.对任何二叉树,若度为2的节点数为n2,则叶子数n0=______;n0=n2+16. 高度为kk>=1的二叉树至多有______个结点;2k-17. 二叉树第ii>=1层上至多有______个结点;2i-18. 满二叉树上各层的结点数已达到了二叉树可以容纳的______;满二叉树也是______二叉树,但反之不然;最大值,完全二叉树9.具有n个结点的完全二叉树的高度为______;log2n10. 如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i1<=i<=n的结点X有:1若i=1,则结点X是______;若i〉1,则X的双亲PARENTX的编号为______;根结点,i/22 若2i>n,则结点X无______且无______;否则,X的左孩子LCHILDX的编号为______;左孩子,右孩子,2i3若2i+1>n,则结点X无______;否则,X的右孩子RCHILDX的编号为______;右孩子,2i+1 11. 二叉树通常有______存储结构和______存储结构两类存储结构;顺序,链接12.具有n个结点的二叉链表中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL;2n,n-1,n+113. 一棵二叉树由根、左子树和右子树三部分组成,因此对二叉树的遍历也可相应地分解成________、________、________三项“子任务”;访问根结点、遍历左子树、遍历右子树14. 若以N、L、R分别表示二叉树的三项子任务,限定“先左后右”,这样可能的次序有:________、________、________三种,按这三种次序进行的遍历分别称为________、________、________;NLR、LNR、LRN、先根或前序遍历、中根或中序遍历、后根或后序遍历15. 在二叉链表中,指针p所指结点为叶结点的条件是______;结点的左右孩子域均为空指针16. 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有______个叶结点;1217.设根结点的层数为1,具有n个结点的二叉树的最大高度是______;n18. 已知二叉树前序序列为ABDEGCF,中序序列为DBGEACF,则后序序列是____;DGEBFCA19. 若一个二叉树的叶结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的______序列中的最后一个结点;先前序20. 先根次序遍历树森林等同于按______遍历对应的二叉树;后根次序遍历树森林等同于______遍历对应的二叉树;先,中二、单项选择题1.以下说法错误的是 AA. 树型结构的特点是一个结点可以有多个直接前趋B. 线性结构中的一个结点至多只有一个直接后继C. 树型结构可以表达组织更复杂的数据D.树型结构是一种层次结构2.以下说法错误的是 BA.二叉树可以是空集B.二叉树的任一结点都有两棵子树C.二叉树的任一结点最多有两棵子树D.二叉树中任一结点的两棵子树有次序之分3.以下说法错误的是DA.完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达B. 在三叉链表上,二叉树的求结点双亲运算很容易实现C. 在二叉链表上,求结点的左、右孩子等很容易实现D. 在二叉链表上,求结点的双亲运算很容易实现4.高度为6的二叉树最多有 B个结点A.64 B. 63 C. 32 D. 315. 将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为 DA. 42B. 40C. 21D. 206. 任何一棵二叉树的叶结点在其先根、中根、后根遍历序列中的相对位置 CA.一定不相同 B. 有时不相同 C. 一定相同 D. 无法确定7. 下列说法正确的是 AA.树的先根遍历序列与其对应的二叉树的先根遍历序列相同B.树的先根遍历序列与其对应的二叉树的后根遍历序列相同C.树的后根遍历序列与其对应的二叉树的先根遍历序列相同D.树的后根遍历序列与其对应的二叉树的后根遍历序列相同8.一棵二叉树满足下列条件:对任意结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值;现采用 B 遍历方式就可以得到这棵二叉树所有结点的递增序列;A.先根 B. 中根 C. 后根 D. 层次9.设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的右子树上有 D个结点;A.n1-1 B. n1 C. n1+n2+n3 D. n2+n3+n410. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,则它的前序遍历序列是DA. acbedB. deabcC. decabD. cedba。
数据结构习题第6章
第6章树和二叉树一、选择题1.不含任何结点的空树()。
A. 是一棵树B. 是一棵二叉树C. 是一棵树也是一棵二叉树;D. 既不是树也不是二叉树2. 一棵有n个结点的树的所有结点的度数之和为()。
A. n-1B. nC. n+1D. 2n3. 在二叉树中某一个结点的深度为3,高度为4,则该树的高度是()。
A. 5B. 6C. 7D. 84. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至多为()。
A. 2h-1B. 2h+1C. 2h-1D. 2h+15. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至少为()。
A. 2h-1B. 2h+1C. 2h-1D. 2h+16. 高度为h的满二叉树中有n个结点,其中有m个叶结点,则正确的等式是()。
A. h+m=nB. h+m=2nC. m=h-1D. n=2h-17.二叉树是非线性数据结构,所以()。
A. 它不能用顺序存储结构存储B. 它不能用链式存储结构存储C. 顺序存储结构和链式存储结构都能存储D. 顺序存储结构和链式存储结构都不能使用8. 一棵完全二叉树有25个叶结点,则该树最少有()个结点。
A. 48B. 49C. 50D. 519. 假设一个三叉树的结点数为36,则该树的最小高度为()。
A. 2B. 3C. 4D. 510. 设二叉树有n个结点,则二叉链表中非空指针数为()。
A. n-1B. nC. n+1D. 2n11. 先序序列和中序序列正好相反的二叉树是()。
A. 完全二叉树B. 满二叉树C. 左单枝树D. 右单枝树12. 后序序列和中序序列正好相反的二叉树是()。
A. 完全二叉树B. 满二叉树C. 左单枝树D. 右单枝树13.把一棵树转换为二叉树后,这棵二叉树的形态是()。
A. 唯一的B. 有多种C. 有多种,但根结点都没有左孩子D. 有多种,但根结点都没有右孩子14. 将一棵树T转换为孩子—兄弟链表表示的二叉树H,则T的后根序遍历是H 的()。
《树和二叉树》习题[1]
一、选择题1.对于先序遍历和中序遍历结果相同的二叉树为(BF );对于先序遍历和后序遍历结果相同的二叉树为( B )A.一般二叉树B.只有根结点的二叉树C.根结点无左孩子的二叉树D.根结点无右孩子的二叉树E.所有结点只有左孩子的二叉树F.所有结点只有右孩子的二叉树。
2.下列关于哈夫曼树的叙述错误的是( D)。
A.哈夫曼树的根结点的权值等于所有叶结点的权值之和B.具有n个叶结点的哈夫曼树共有2n-l个结点C.哈夫曼树是带权外路径长度最短的二叉树D.哈夫曼树一个结点的度可以是0、1或23.设T2是由树T转换得到的二叉树,则T中结点的后序序列是T2结点的( B )。
A.先序序列B.中序序列C.后序序列D.层次序列4.设有一个度为3的树,其叶结点数为n0,度为1的结点数为nl,度为2的结点数为n2,度为3的结点数为n3,则n0与nl,n2,n3满足关系(B )。
A.n0 =n2+1 B.n0=n2+2*n3+1 C.n0=n2+n3+1 D.n0= nl+n2+n3二、填空题1.一棵有124个叶结点的完全二叉树,最多有______248__个结点。
在有n个结点的哈夫曼树中,其叶子结点数为__2/N+1_______。
2.若一棵二叉树具有12个度为2的结点,6个度为1的结点,则度为0的结点个数是_____13__。
3.已知某二叉树的先序序列为ABDECF,中序序列为DBEAFC。
则其后序序列为_____DEBFCA_____。
4. 二叉树结点数n与边数e的关系为__N=E+1__________。
5. 己知二叉排序树的先序序列,___能_____唯一确定该二叉排序树。
6. 完全二叉树采用_顺序__存储结构,满足存储空间少,方便的查找任意结点的双亲与孩子。
三、综合题1.设有n个结点的二叉树,度为2的结点数为n2,度为l的结点数为n1,叶结点数为n0,试分别写出哈夫曼树、完全二叉树和单枝二叉树n1的取值。
答案:哈夫曼树:0 在哈夫曼树中,只能有度为0或2 的结点是严格二叉树完全二叉树:当n为奇数时,度为1的结点树为0当n为偶数时,度为1的结点树为1单支二叉树:n1=n-12.找出满足下列条件的二叉树:(1)先序和中序的访问序列相同;根节点没有左孩子的二叉树或者只有根结点(2)中序和后序的访问序列相同;只有左孩子的二叉树(3)先序和后序的访问序列相同;只有根节点的二叉树3.已知二叉树的中序遍历序列为DEBAFCG ,后序遍历序列为EDBFGCA ,试画出该二叉树。
数据结构树和二叉树习题(有答案)
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
1、树最适合用来表示()。
A.元素之间无联系的数据B.元素之间具有层次关系的数据C.无序数据元素D.有序数据元素正确答案:B2、现有一“遗传”关系,设x是y的父亲,则x可以把他的属性遗传给y。
表示该遗传关系最适合的数据结构为()。
A.线性表B.树C.数组D.图正确答案:B3、一棵节点个数为n、高度为h的m(m≥3)次树中,其分支数是()。
A.n+hB.h-1C.n-1D.nh正确答案:C4、若一棵3次树中有2个度为3的节点,1个度为2的节点,2个度为1的节点,该树一共有()个节点。
A.11B.5C.8D.10正确答案:A解析: A、对于该3次树,其中有n3=2,n2=1,n1=2,总分支数=总度数=n-1,总度数=1×n1+2×n2+3×n3=10,则n=总度数+1=11。
5、设树T的度为4,其中度为1、2、3、4的节点个数分别为4、2、1、1,则T中的叶子节点个数是()。
A.6B.8C.7D.5正确答案:B解析: B、这里n1=4,n2=2,n3=1,n4=1,度之和=n-1=n1+2n2+3n3+4n4=15,所以n=16,则n0=n-n1-n2-n3-n4=16-8=8。
6、有一棵三次树,其中n3=2,n2=1,n0=6,则该树的节点个数为()。
A.9B.12C.大于等于9的任意整数D.10正确答案:C解析: C、n=n0+n1+n2+n3=6+n1+1+2=9+n1。
7、假设每个节点值为单个字符,而一棵树的后根遍历序列为ABCDEFGHIJ,则其根节点值是()。
A.JB.BC.以上都不对D.A正确答案:A8、一棵度为5、节点个数为n的树采用孩子链存储结构时,其中空指针域的个数是()。
A.4nB.4n-1C.4n+1D.5n正确答案:C解析: C、总指针数=5n,非空总指针数=分支数=n-1,空指针域的个数=5n-(n-1)=4n+1。
9、有一棵三次树,其中n3=2,n2=2,n1=1,该树采用孩子兄弟链存储结构时,则总的指针域数为()。
树和二叉树习题及答案
树和二叉树习题及答案一、填空题1. 不相交的树的聚集称之为森林。
2. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_树可采用孩子-兄弟链表(二叉链表)做存储结构,目的是利用二叉树的已有算法解决树的有关问题。
3. 深度为k的完全二叉树至少有2 k-1个结点。
至多有2 k-1个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是2 k-2+1。
4. 在一棵二叉树中,度为零的结点的个数为n,度为2的结点的个数为n2,则有n= 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)次序的遍历实现编号。
数据结构习题
树和二叉树习题(39)1.请编写一个判别给定二叉树是否为二叉排序树的算法,设二叉树用llink-rlink 法存储。
2.假设K1,…,Kn 是n 个关键词,试解答:(1) 试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2,…,Kn 时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。
(2) 设计一个算法,打印出该二叉查找树的嵌套括号表示结构。
例如,K1=B,K2=A,K3=D,K4=C,K5=E,则用二叉查找树的插入算法建立的二叉查找树为:该二叉查找树的嵌套括号表示结构为:B(A,D(C,E))3.写出在二叉排序树中删除一个结点的算法,使删除后仍为二叉排序树。
设删除结点由指针p 所指,其双亲结点由指针 f 所指,并假设被删除结点是其双亲结点的右孩子。
用类PASCAL(或C)语言将上述算法写为过程形式。
4. 已知二叉树排序树中某结点指针p,其双亲结点指针为fp,p 为fp 的左孩子,试编写算法,删除p 所指结点。
5.二叉排序树采用二叉链表存储。
写一个算法,删除结点值是X 的结点。
要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注:可不考虑被删除的结点是根的情况)。
6. 设记录R1,R2,…,Rn 按关键字值从小到大顺序存储在数组r[1..n]中,在r[n+1]处设立一个监督哨,其关键字值为+∞; 试写一查找给定关键字k 的算法;并画出此查找过程的判定树,求出在等概率情况下查找成功时的平均查找长度。
7.设计算法以求解编号为i和j的两个结点的最近的公共祖先结点的编号。
8.元素集合已存入整型数组A[1..n]中,试写出依次取A 中各值A[i](1<=i<=n)构造一棵二叉排序树T 的非递归算法:CSBT(T,A)9.写出折半查找的算法,并要求它返回整型值i,当查找成功时,返回查找位置,查找不成功时返回0。
10.请编写算法:键树,又称数字查找树。
树-二叉树习题
一、单项选择1.二叉树是非线性数据结构,所以()A、它不能用顺序存储结构存储B、它不能用链式存储结构存储C、顺序存储结构和链式存储结构都能存储D、顺序存储结构和链式存储结构都不能存储参考答案 C2.把一棵树转换为二叉树后,这棵二叉树的形态是()A、唯一的B、有多种C、有多种,但根结点都没有左孩子D、有多种,但根结点都没有右孩子参考答案 A 3.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为()。
A)GEDHFBCA B)DGEBHFCAC)ABCDEFGH D)ACBFEDHG参考答案 B 4.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)参考答案 C 5.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对接点编号,根为1,则编号为49的结点的左孩子编号为( ) 。
A.98 B.99 C.50 D.48参考答案 A 6. 高度k的二叉树的最大结点数为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k+1参考答案 A 9.在一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为:()A.15 B.16 C.17 D.47参考答案 B 10.如果T1是由有序数T转换而来的二叉树,那么T中结点的后序遍历序列就是T1结点的()遍序序列A.前序 B.中序 C.后序 D.层次参考答案 B 11.如图所示T2是由森林T1转换而来的二叉树,那么森林T1有()叶结点。
A.4 B.5 C.6 D.7参考答案 C 12.有n个叶子结点的哈弗曼树的结点总数是()A.不确定 B.2n C.2n+1 D.2n-1参考答案 D 二、填空题1.对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子则左孩子结点的编号为________,若它有右孩子,则右孩子结点的编号为________,若它有双亲,则双亲结点的编号为________。
第5章+树与二叉树习题解析(答)
习题五树与二叉树一、选择题1、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足。
A、所有的结点均无左孩子B、所有的结点均无右孩子C、只有一个叶子结点D、是任意一棵二叉树2、一棵完全二叉树上有1001个结点,其中叶子结点的个数是。
A、250B、500C、254D、505E、以上答案都不对3、以下说法正确的是。
A、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树后序遍历序列中的最后一个结点B、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树中序遍历序列中的最后一个结点C、在二叉树中,具有两个子女的父结点,在中序遍历序列中,它的后继结点最多只能有一个子女结点D、在二叉树中,具有一个子女的父结点,在中序遍历序列中,它没有后继子女结点4、以下说法错误的是。
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、不确定B、2kC、2k-1D、2k+19、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有个结点。
A、13B、12C、26 D、2510、下面几个符号串编码集合中,不是前缀编码的是。
树和二叉树自测试题
第六章树一.名词解释:1 树2。
结点的度3。
叶子4。
分支点5。
树的度6.父结点、子结点7兄弟8结点的层数9树的高度10 二叉树11 空二叉树12 左孩子、右孩子13孩子数14 满二叉树15完全二叉树16 先根遍历17 中根遍历18后根遍历19二叉树的遍历20 判定树21 哈夫曼树二、填空题1、树(及一切树形结构)是一种“__分支层次______”结构。
在树上,___根_____结点没有直接前趋。
对树上任一结点X来说,X是它的任一子树的根结点惟一的__前驱______。
2、一棵树上的任何结点(不包括根本身)称为根的________。
若B是A的子孙,则称A是B的_______3、一般的,二叉树有_____二叉树、_只根_____的二叉树、只有_左子树_____的二叉树、只有_右子树_____的二叉树、同时有左右______的二叉树五种基本形态。
4、二叉树第i(i>=1)层上至多有_____个结点。
5、深度为k(k>=1)的二叉树至多有_____个结点。
6、对任何二叉树,若度为2的节点数为n2,则叶子数_____。
7、满二叉树上各层的节点数已达到了二叉树可以容纳的_最大值_____。
满二叉树也是_完全二叉树_____二叉树,但反之不然。
8、具有n个结点的完全二叉树的深度为______。
9、如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:(1)若i=1,则结点X是_根_____;若i〉1,则X的双亲PARENT(X)的编号为__i/2取整____。
(2)若2i>n,则结点X无_左孩子_____且无_右孩子_____;否则,X的左孩子LCHILD(X)的编号为__2i____。
(3)若2i+1>n,则结点X无__右孩子____;否则,X的右孩子RCHILD(X)的编号为__为2i+1____。
10.二叉树通常有顺序_____存储结构和_链式_____存储结构两类存储结构。
数据结构第四章树和二叉树习题
数据结构第四章树和二叉树习题04 树和二叉树【单选题】1. 下列选项中不属于树形结构逻辑特征的是(C)。
A、有的结点有多个直接后继 B、有的结点没有直接后继 C、有的结点有多个直接前驱 D、有的结点没有直接前驱2. 下列叙述中错误的是(B)。
A、树的度与该树中结点的度的最大值相等B、二叉树就是度为2的有序树C、有5个叶子结点的二叉树中必有4个度为2的结点D、满二叉树一定是完全二叉树3. 一棵二叉树中第6层上最多有(C)个结点。
A、2 B、31C、32D、644. 一棵高为k的二叉树最少有(B)个结点。
A、k-1 B、kC、k+1D、2k-1E、2k-15. 一棵高为k的二叉树最多有(C)个结点。
A、k+1 B、2k-1 C、2k-1 D、2k E、2k+16. 一棵高为k的完全二叉树最少有(B)个结点。
A、2k-1-1 B、2k-1 C、2k-1 D、2k7. 一棵高为k的完全二叉树最多有(C)个结点。
A、2k-1-1 B、2k-1 C、2k-1 D、2k8. 一棵度为3的树中,度为3的结点有2个,度为2的结点有2个,度为1的结点有2个,则度为0的结点有(D)个。
A、4 B、5 C、6 D、79. 含1000个结点的完全二叉树的高度为(B)。
A、9 B、10 C、11 D、1210. 设完全二叉树T中含有n个结点,对这些结点从0开始按层序进行编号,若编号为i的结点有左孩子,则左孩子的编号为(D)。
A、2(i-1)B、2i-1C、2iD、2i+1E、2(i+1)11. 已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为(D)。
A、-A+B*C/DE B、-A+B*CD/EC、-+*ABC/DED、-+A*BC/DE12. 已知一棵二叉树的先序序列为abdegcfh,中序序列为dbgeachf,则该二叉树的后序序列为(B)。
A、gedhfbca B、dgebhfca C、abcdefgh D、acbfedhg13. 先序遍历与中序遍历所得遍历序列相同的二叉树为(D)。
树和二叉树作业
树和二叉树作业(一)一、基础知识题1、已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,……,n m个度为m的结点,问树中有多少个叶子结点?2、由四个结点a、b、c、d组成二叉树,共有多少种不同的结构?3、已知一棵具有n个结点的完全二叉树被顺序地存储于一维数组A中,试编写一个算法,打印出编号为i的结点的双亲和所有孩子。
4、写出对二叉树进行中序遍历的非递归算法。
5、已知一组元素为(46,25,78,62,12,37,70,29),画出按元素排列顺序输入生成的一棵二叉排序树。
6、已知一棵二叉排序树如下图所示,若从中依次删除72、12、49、28结点,试分别画出每删除一个结点后得到的二叉排序树。
7、有七个带权结点a、b、c、d、e、f、g,分别带权3、7、8、2、5、8、4,试以它们为叶子结点构造一棵哈夫曼树(请按照左子树根结点的权小于等于右子树根结点的权的次序构造)。
8、在一份电文中,共用到了五种字符:a、b、c、d、e,它们的出现频率依次为4、7、5、2、9,试画出对应的编码哈夫曼树(请按照左子树根结点的权小于等于右子树根结点的要的次序构造),求出每个字符的哈夫曼编码。
二、编程题1、二叉树的遍历问题【问题描述】输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。
输入:输入文件为tree.in,共两行,第一行一个字符串,表示树的先序遍历;第二行一个字符串,表示树的中序遍历。
树的结点一律用小写字母表示。
输出:输出文件为tree.out,仅一行,表示树的后序遍历序列。
【样例输入】abdecdbeac【样例输出】debca2、假定一棵树采用标准形式存储,试写出以广义表形式输出树的算法。
3、假定树采用标准形式存储,试写出求其深度的算法。
4、FBI树(fbi.pas)【问题描述】我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。
数据结构树和二叉树习题及答案
数据结构树和二叉树习题及答案集团标准化工作小组 #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. 利用二叉链表存储树,则根结点的右指针是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题6树和二叉树
说明: 本文档中,凡红色字标出的题请提交纸质作业,只写题号和答案即可。
6.1 单项选择题 1. 2. A . 15 由于二叉树中每个结点的度最大为 2,所以二叉树是一种特殊的树,这种说法 A.正确
假定在一棵二叉树中, B . 16 C . 17 3. 按照二叉树的定义, A. 3 4. 按照二叉树的定义, A. 5 5. 6. 7. 8. B.错误
双分支结点数为15,单分支结点数为30个,则叶子结点数为 B 个。
D . 具有 B. 4
具有
B. 6
深度为5的二叉树至多有
A. 16
B. 32
47
3个结点的不同形状的二叉树有 _ C. 5 D. 6 3个不同数据结点的不同的二叉树有 C. 30 _C__个结点。
C. 31 D. 32 C 种。
C 种。
设高度为h 的二叉树上只有度为 0和度为 D. 10 2的结点,则此类二叉树中所包含的结点数至少为
B. 2h-1
C. 2h+1 m 个树叶,n 个结点,深度为h ,则__A__ B. h+m=2 n C. m=h-1
D. h+1 A. 2h 对一个满二叉树, A. n=h+m 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 A.不发生改变 B.发生改变 如果某二叉树的前根次序遍历结果为 B. vwuts C. wuvts O D. n=2 h -1 A C.不能确定 D.以上都不对 stuwv ,中序遍历为uwtvs ,那么该二叉树的后序为 __C__。
D. wutsv 9. A. uwvts 10. 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法
正确 B.错误 11. 某二叉树的前序遍历结点访问顺序是 序遍历的结点访问顺序是 _D__。
A. bdgcefha B. gdbecfha
12. 在一非空二叉树的中序遍历序列中, A.只有右子树上的所有结点 C.只有左子树上的部分结点 abdgcefh ,中序遍历的结点访问顺序是 13. 如图6.1所示二叉树的中序遍历序列是 C. bdgaechf D. gdbehfca 根结点的右边 _A_。
B.只有右子树上的部分结点 D.只有左子树上的所有结点 B_。
C. dbaefcg
D. defbagc
序遍 A. abcdgef 序列 B. dfebagc abdgcefh B. dgbaechf D. abcdefgh 为一棵二叉树上的两个结点, 前的条件是 B a 在b 的右方 a 是b 的祖先
a . C . 已知某二叉树的后序遍历序列是 B. deca
b C. deab
c D . a 是b 的子孙 dabec ,中序遍历序列是 D. cedba 16. A. acbe
d 17.实现任意二叉树的后序遍历的非递归算法而不使用栈结构, 结构。
A.二叉链表
B.广义表存储结构
C.三叉链表
A. dgbaechf ,则其后 二叉树如图6.2所示,其中序遍历的 疋 D。
B . a 在b 的左方
debac,它的前序遍历序列是 最佳方案是二叉树采用 D.顺序存储结构
C. 在中 C 存储
18.如图6.3所示的4棵二叉树,__C_不是完全二叉树。
图6.3
24.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的
A 是正确的。
二叉树叫做这棵数对应的二叉树。
结论
A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同
B. 树的后根遍历序列与其对应的二叉树的后序遍历序列相同
C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同
D. 以上都不对
25.树最适合用来表示__C__。
A.有序数据元素
C.元素之间具有分支层次关系的数据B.
D.
无序数据元素元素之
间无联系的数据
6.2 填空题(将正确的答案填在相应的空中)
1. 有一棵树如图6.5所示,回答下面的问题:这棵树的根结点是_k0_ ;这棵树的
叶子结点是_ 结点k3的度是_2—;这棵树的度是_3_;
这棵树的深度是__4__ ;结点k3的子女是__k5,k6_ ;结点k3的父结点是
__k1__ ;
2. 指出树和二叉树的三个主要差别:
①树的结点个数至少为1,而二叉树的结点个数可以
②树中结点的最大度数没有限制,而二叉树结点
的最大度数为
③树的结点无左、右之分,而二叉树的结点有左、右之分
3. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是
二叉树的存储结构并利用二叉树的已有算法解决树的有关问题_。
图6.5 一棵树
树可采用接表示形式为_______
4. 一棵二叉树的结点数据采用顺序存储结构,存储于数组t中,如图6.6所示,则该二叉树的链
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
e a
f d
g c j l
h b
5. 深度为k的完全二叉树至少有_2k-1_个结点。
至多有__2k-1__个结点,若按自上而下,从左
到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是_1k-2+1_。
6. 在一棵二叉树中,度为零的结点的个数为n 0,度为2的结点的个数为n 2,则有n o=__n2+1_
7. 一棵二叉树的第i (i > 1 )层最多有_2i-1_个结点;一棵有n (n>0)个结点的满二叉树共有__(n+1)/2
—个叶子和__(n-1)/2—个非终端结点。
8. 结点最少的树为—只有一个结点的树__,结点最少的二叉树为—空的二叉树 _。
9. 现有按中序遍历二叉树的结果为abc,问有__5__种不同形态的二叉树可以得到这一遍历结果,
这些二叉树分别是_____ 。
10. 由如图6.7所示的二叉树,回答以下问题: ⑴其中序遍历序列为__dgbaechif__ ;⑵ 其前序遍历序
列为__abdgcefhi__ ;⑶其后序遍历序列为__gdbeihfca__;
6.3 简答题
1. 根据二叉树的定义,具有三个结点的二叉树有5种
不同的形态,请将它们分别画出。
2. 假设一棵二叉树的先序序列为EBADCFHGIK和中序序列为ABCDEFGHIJ K
3. 由如图6.7所示的二叉树,请画出该二叉树对应的森林。
4. 已知一棵树如图6.8所示,转化为一棵二叉树,表示为_______ 。
图6.7 一棵二叉树
5. 以数据集{4,5,6,7,10,12,18}为结点权值,画出构造Huffman树的每一
步图示,计算其带权路径长度为。
6. 一棵含有N个结点的k叉树,可能达到的最大深度和最小深度各为多少?
最大深度:h=N-k+1,最小深度:logkN+1
7. 证明:一棵满k叉树上的叶子结点数n0和非叶子结点数n1之间满足以下关系:
n 0 =(k-1)n 1+1
6.4算法设计题
1. 编写按层次顺序(同一层自左至右)遍历二叉树的算法。
2.试编写算法,对一棵二叉树, 统计叶子的个数。
图6.8 一棵树
3.试编写算法,对一棵二叉树根结点不变,将左、右子树进行交换,树中每个结点的左、右子树进行交换。
7. 假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h) 组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10 。
试为这八个字母设计哈夫曼编码。
使用0-7 的二进制表示形式是另一种编码方案。
对于上述实例,比较两种方案的优缺点。
8. 试编写算法,对一棵以孩子-兄弟链表表示的树统计叶子的个数。
假设一棵二叉树的先序序列为EBADCFHGIKJ 和中序序列为ABCDEFGHIJK 。
请画出该树。