第6章+树和二叉树(习题)
- 格式:doc
- 大小:277.00 KB
- 文档页数:26
数据结构练习第六章树一、选择题1.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据2.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-13.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
A. 2m-1B. 2mC. 2m+1D. 4m4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A. BADCB. BCDAC. CDABD. CBDA5.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
A. 9B. 10C. 11D. 126.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
A. 2k-1 B .2k C. 2k-1 D. 2k-17.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是()。
A. N0=N1+1 B. N=Nl+N2C. N=N2+1 D. N=2N1+l8.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N=()。
A. Nl +N2+……+Nm B. l+N2+2N3+3N4+……+(m-1)NmC. N2+2N3+3N4+……+(m-1)Nm D. 2Nl+3N2+……+(m+1)Nm9.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。
A. 20B. 30C. 40D. 4510.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。
A. 空或只有一个结点B. 高度等于其结点数C. 任一结点无左孩子D. 任一结点无右孩子11.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。
A. 3B. 4C. 5D. 612.深度为k的完全二叉树中最少有()个结点。
第6章 树和二叉树内容概要:本章主要介绍树,二叉树,最优二叉树的相关概念和操作,存储结构和相应的操作,并在综合应用设计中,给出了对应算法的C 语言实现。
教学目标1.理解各种树和森林与二叉树的相应操作。
2.熟练掌握二叉树的各种遍历算法,并能灵活运用遍历算法实现二叉树的其他操作。
3.熟练掌握二叉树和树的各种存储结构及其建立的算法。
4.掌握哈夫曼编码的方法。
5.通过综合应用设计,掌握各种算法的C 语言实现过程。
基本知识点:树和二叉树的定义、二叉树的存储表示、二叉树的遍历以及其它操作的实现、树和森林的存储表示、树和森林的遍历以及其它操作的实现、最优树和赫夫曼编码重点:二叉树的性质、二叉树的遍历及其应用,构造哈夫曼树。
难点:编写实现二叉树和树的各种操作的递归算法。
本章知识体系结构:课时安排:6个课时树的定义 树树的性质 树的逻辑表示法 树形表示法 树的存储结构 双亲存储结构 文氏表示法凹入表示法 括号表示法 孩子存储结构 孩子双亲存储结构二叉树二叉树的定义 二叉树的性质二叉树的逻辑表示法(采用树的逻辑表示法)二叉树的存储结构二叉树的顺序存储结构先序遍历 中序遍历 后序遍历二叉树的遍历 二叉树的链式存储结构(二叉链) 由先序序列和中序序列构造二叉树 由中序序列和后序序列构造二叉树二叉树的构造 二叉树的线索化 哈夫曼树二叉树和树之间的差别 二叉树与树、森林之间的转换二叉树和树课程数据结构教学教具多媒体课件学时2班级06网络教学日期/课时 /2课时教学单元第6章树和二叉树教学方法讲授(PPT)教学目标掌握树、二叉树的基本概念和术语,二叉树的性质教学重点二叉树的定义、二叉树的性质、链式存储结构教学难点二叉树的性质、链式存储二叉树的基本操作组织教学一、树的定义二、树的基本概念三、二叉树的定义、性质四、二叉树的顺序存储结构和链式存储结构五、小结作业复习本讲内容并预习下一讲内容课堂情况及课后分析课程数据结构教学教具多媒体课件学时2班级06网络教学日期/课时 /2课时教学单元第6章树和二叉树教学方法讲授(PPT)教学目标掌握二叉树遍历的三种方法及二叉树的基本操作教学重点二叉树的遍历算法教学难点中序与后序遍历的非递归算法组织教学一、复习二叉树的定义二、遍历二叉树的三种方法三、递归法遍历二叉树四、二叉树的基本操作五、总结作业复习本讲内容并预习下一讲内容课堂情况及课后分析课程数据结构教学教具多媒体课件学时2班级06网络教学日期/课时 /2课时教学单元第6章树和二叉树教学方法讲授(PPT)教学目标理解树与森林的转换,掌握哈夫曼树教学重点哈夫曼树教学难点树与森林的转换组织教学一、导入二、树与森林三、哈夫曼树四、小结作业习题6课堂情况及课后分析前面几章讨论的数据结构都属于线性结构,线性结构的特点是逻辑结构简单,易于进行查找、插入和删除等操作,可用于描述客观世界中具有单一前驱和后继的数据关系。
【课后习题】第6章树和二叉树网络工程2010级()班学号:姓名:一、填空题(每空1分,共16分)1.从逻辑结构看,树是典型的。
2.设一棵完全二叉树具有999个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个度为1的结点。
3.由n个权值构成的哈夫曼树共有个结点。
4.在线索化二叉树中,T所指结点没有左子树的充要条件是。
5.在非空树上,_____没有直接前趋。
6.深度为k的二叉树最多有结点,最少有个结点。
7.若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当i为且小于n时,结点i的右兄弟是结点,否则结点i没有右兄弟。
8.N个结点的二叉树采用二叉链表存放,共有空链域个数为。
9.一棵深度为7的满二叉树有___ ___个非终端结点。
10.将一棵树转换为二叉树表示后,该二叉树的根结点没有。
11.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的遍历结果是一样的。
12.一棵Huffman树是带权路径长度最短的二叉树,权值的外结点离根较远。
二、判断题(如果正确,在对应位置打“√”,否则打“⨯”。
每题0.5分,共5分)1.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。
2.二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该二叉树的根结点是那一个,则可以确定这棵二叉树。
3.一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。
4.度≤2的树就是二叉树。
5.一棵Huffman树是带权路径长度最短的二叉树,权值较大的外结点离根较远。
6.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的前序遍历结果是一样的。
7.不存在有偶数个结点的满二叉树。
8.满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。
9.已知二叉树的前序遍历顺序和中序遍历顺序,可以惟一确定一棵二叉树;10.已知二叉树的前序遍历顺序和后序遍历顺序,不能惟一确定一棵二叉树;三、单项选择(请将正确答案的代号填写在下表对应题号下面。
数据结构题第六章树和⼆叉树简答题1、有⼀棵树的括号表⽰为A(B,C(E,F(G)),D),回答下⾯的问题:这棵树的根结点是谁?这棵树的叶⼦结点是什么?结点C的度是多少?这棵树的度是多少?这棵树的深度是多少?结点C的孩⼦结点是哪些?结点C的双亲结点是谁?2、若⼀棵度为4的树中度为1,2,3,4的结点个数分别是4,3,2,2,则该树中叶⼦结点的个数是多少?总结点个数是多少?3、⼀棵⾼度为h的完全k次数,如果按照层次⾃上向下、⾃左向右的顺序从1开始对全部结点编号,试问:最多有多少个结点?最少有多少个结点?编号为q的结点的第i个孩⼦结点的编号是多少?4、若⼀棵⼆叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为结点的总个数为5、⼀棵完全⼆叉树有1001个结点,其中叶⼦结点的个数为6、⼀棵⾼度为h的完全⼆叉树⾄少有个结点。
7、⼀棵⾼度为5的完全⼆叉树⾄多有个结点。
8、设⾼度为h的⼆叉树上只有度为0和度为2的结点,则此类⼆叉树⾄少包含个结点。
9、⼀个具有1025个结点的⼆叉树的⾼度h为10、在⼀棵完全⼆叉树中,结点个数为n,则编号最⼤的分⽀结点的编号为11、⼀棵⼆叉树的先序遍历为ABCDEF,中序遍历为CBAEDF,则后序遍历为12、⼀棵⼆叉树的先序遍历为ABCDEFG,它的中序遍历可能为A.CABDEFGB. ABCDEFGC.DACEFBGD.ADCFEGB思考:⼆叉树的先序和中序遍历相同的条件是?⼆叉树的后序和中序遍历相同的条件是?13、⼀棵⼆叉树的后序遍历为DABEC,中序遍历为DEBAC,则先序遍历为14、⼀棵⼆叉树的先序遍历为EFHIGJK,中序遍历为HFIEJKG,则该⼆叉树根结点的右孩⼦为16、根据使⽤频率为5个字符设计的赫夫曼编码不可能的是A.111,110,10,01,00B.000,001,010,011,1C.100,11,10,1,0D.001,000,01,11,1017、根据使⽤频率为5个字符设计的赫夫曼编码不可能的是A. 000,001,010,011,1B.0000,0001,001,01,1C. 000,001,01,10,11D.00,100,101,110,11118、设有13个值,⽤它们组成⼀棵赫夫曼树,则该赫夫曼树共有个结点。
第三单元课后练习题(参考答案)知识点范围:第6章树与二叉树、第7章图一、选择题(每小题1分,共25分)1.树最适合用来表示 C 。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据2.深度为5的二叉树至多有 C 个结点。
A.16 B.32 C.31 C.103.对一个满二叉树,m个叶子,n个结点,深度为h,则 D 。
A.n = h+m B.h+m = 2n C.m = h-1 D.n = 2h-14.任何一棵二叉树的叶子结点在前序、中序和后序遍历序列中的相对次序 A 。
A.不发生改变B.发生改变C.不能确定D.以上都不对5.设一棵二叉树中,度为2的结点数为9,则该二叉树的叶结点的数目为:AA.10 B.11 C.12 D.不确定6.在下述论述中,正确的是 D 。
①只有一个结点的二叉树的度为0;②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的顺序二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③B.②③④C.②④D.①④7.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树的结点个数为n,森林F中第一棵树的结点的个数是 A 。
A.m-n B.m-n-1 C.n+1 D.不能确定8.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是 B 。
A.9 B.11 C.15 D.不能确定9.具有10个叶子结点的二叉树中有 B 个度为2的结点。
A.8 B.9 C.10 D.1110.在一个无向图中,所有顶点的度数之和等于所有边数的 C 倍。
A.1/2 B. 1 C.2 D. 411.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为( B )。
A. 2i+1 B. 2i C. i/2 D. 2i-112.某二叉树结点的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为: CA.3 B.2 C.4 D.513.已知一算术表达式的中缀形式为A+B *C–D/E,后缀形式为ABC *+DE/–,其前缀形式为 D 。
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.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。
3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点并证明之。
4.假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请画出该二叉树。
5.已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个?6.给出满足下列条件的所有二叉树:①前序和后序相同②中序和后序相同③前序和后序相同7. n个结点的K叉树,若用具有k个child域的等长链结点存储树的一个结点,则空的Child 域有多少个?8.画出与下列已知序列对应的树T:树的先根次序访问序列为GFKDAIEBCHJ;树的后根次序访问序列为DIAEKFCJHBG。
9.假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10请为这8个字母设计哈夫曼编码。
10.已知二叉树采用二叉链表存放,要求返回二叉树T的后序序列中的第一个结点指针,是否可不用递归且不用栈来完成?请简述原因.11. 画出和下列树对应的二叉树:12.已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。
13.编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
14.分别写函数完成:在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。
在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。
15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。
16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。
17.对以孩子-兄弟链表表示的树编写计算树的深度的算法。
六、树和二叉树一、选择题: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 )。
一、填空题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)次序的遍历实现编号。
第六章树习题1单项选择题1、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则叶子结点个数是(B)。
A、9B、11C、15D、无法确定2、设给定权值总数有n个,其哈夫曼树的结点总数为( D )。
A、不确定B、2nC、2n+1D、2n–13、有关二叉树下列说法正确的是(B)。
A、二叉树的度为2B、一棵二叉树的度可以小于2C、二叉树中至少有一个结点的度为2D、二叉树中任何一个结点的度都为24、一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点。
A、2hB、2h-1C、2h+1D、h+15、对于有n个结点的二叉树, 其高度为()。
log D、不确定A、n log2nB、log2nC、⎣⎦n26、利用二叉链表存储树,则根结点的右指针是()。
A、指向最左孩子B、指向最右孩子C、空D、非空7、树的后根遍历序列等同于该树对应的二叉树的( )。
A、先序遍历B、中序遍历C、后序遍历D、层序遍历8、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子链表表示法C、孩子兄弟表示法D、顺序存储表示法9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
A、CBEFDAB、FEDCBAC、CBEDFAD、不定10、某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A、空的或只有一个结点B、任一结点无左子树C、高度等于其结点数D、任一结点无右子树11、一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )。
A、不确定B、0C、1D、212、若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( )。
A、X的双亲B、X的右子树中最左的结点C、X的左子树中最右结点D、X的左子树中最右叶结点13、引入二叉线索树的目的是().A、加快查找结点的前驱或后继的速度B、为了能在二叉树中方便的进行插入和删除C、为了能方便的找到双亲D、使二叉树的遍历结果唯一14、下述编码中哪一个不是前缀码()。
数据结构树和二叉树习题及答案集团标准化工作小组 #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. 利用二叉链表存储树,则根结点的右指针是()。
2008信息与计算科学专业数据结构习题 56 第六章 树和二叉树 一、选择题 1.已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( ) A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE 2.算术表达式a+b*(c+d/e)转为后缀表达式后为( ) A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++ 3. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( ) A.5 B.6 C.7 D.8 4. 在下述结论中,正确的是( ) ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换; ④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A.①②③ B.②③④ C.②④ D.①④ 5. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( ) A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定 6.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) A.9 B.11 C.15 D.不确定 7.在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个 A.4 B.5 C.6 D.7 8.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。 A.M1 B.M1+M2 C.M3 D.M2+M3 9.具有10个叶结点的二叉树中有( )个度为2的结点。 A.8 B.9 C.10 D.ll 10.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( ) 2008信息与计算科学专业数据结构习题 57 A. 250 B. 500 C.254 D.505 E.以上答案都不对 11. 设给定权值总数有n 个,其哈夫曼树的结点总数为( ) A.不确定 B.2n C.2n+1 D.2n-1 12. 有n个叶子的哈夫曼树的结点总数为( )。 A.不确定 B.2n C.2n+1 D.2n-1 13. 有关二叉树下列说法正确的是( ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 14. 一个具有1025个结点的二叉树的高h为( ) A.11 B.10 C.11至1025之间 D.10至1024之间 15.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点 A.2h B.2h-1 C.2h+1 D.h+1 16. 一棵具有 n个结点的完全二叉树的树高度(深度)是( ) A.logn+1 B.logn+1 C.logn D.logn-1 17.在一棵高度为k的满二叉树中,结点总数为( ) A.2k-1 B.2k C.2k-1 D.log2k+1 18.高度为 K的二叉树最大的结点数为( )。 A.2k B.2k-1 C.2k -1 D.2k-1-1 19. 一棵树高为K的完全二叉树至少有( )个结点 A.2k –1 B. 2k-1 –1 C. 2k-1 D. 2k 20.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。 A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历 21.树的后根遍历序列等同于该树对应的二叉树的( ). A. 先序序列 B. 中序序列 C. 后序序列 22.若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。 A.前序 B.中序 C.后序 D.按层次 2008信息与计算科学专业数据结构习题 58 23.在下列存储形式中,哪一个不是树的存储形式?( ) A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法 24.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。 A.CBEFDA B. FEDCBA C. CBEDFA D.不定 25. 某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是: A.E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上面的都不对 26. 上题的二叉树对应的森林包括多少棵树( ) A.l B.2 C.3 D.概念上是错误的 27.二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二叉树根的右子树的根是: A、 E B、 F C、 G D、 H 28.将一棵树t 转换为孩子—兄弟链表表示的二叉树h,则t的后根序遍历是h 的( ) A.前序遍历 B.中序遍历 C.后序遍历 D.层次遍历 29.下面的说法中正确的是( ). (1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变; (2)按二叉树定义,具有三个结点的二叉树共有6种。 A.(1)(2) B.(1) C.(2) D.(1)、(2)都错 30.对于前序遍历与中序遍历结果相同的二叉树为(1); 对于前序遍历和后序遍历结果相同的二叉树为(2)。 A.一般二叉树 B.只有根结点的二叉树 C.根结点无左孩子的二叉树 D.根结点无右孩子的二叉树 E.所有结点只有左子数的二叉树 F.所有结点只有右子树的二叉树 31.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( ) A.所有的结点均无左孩子 B.所有的结点均无右孩子 C.只有一个叶子结点 D.是任意一棵二叉树 32.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( ) A.都不相同 B.完全相同 2008信息与计算科学专业数据结构习题 59 C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同 33.某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。 A.空或只有一个结点 B.任一结点无左子树 C.高度等于其结点数 D.任一结点无右子树 34. 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( ) A.不确定 B. 0 C. 1 D. 2 35. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( )。 A. 0 B. 1 C. 2 D. 不确定 36. 若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( ) A. X的双亲 B. X的右子树中最左的结点 C.X的左子树中最右结点 D.X的左子树中最右叶结点 37. 引入二叉线索树的目的是( ) A.加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除 C.为了能方便的找到双亲 D.使二叉树的遍历结果唯一 38.n个结点的线索二叉树上含有的线索数为( ) A.2n B.n-l C.n+l D.n 39. 设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有( )个。 A. n-1 B.n C. n+1 D. n+2 40.由3 个结点可以构造出多少种不同的二叉树?( ) A.2 B.3 C.4 D.5 41.下述编码中哪一个不是前缀码( )。 A.(00,01,10,11) B.(0,1,00,11) C.(0,10,110,111) D.(1,01,000,001) 42. 当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组 A[l..n]中时,数组中第i个结点的左孩子为( ) A.A[2i](2i=
二、判断题 1. 二叉树是度为2的有序树。 2008信息与计算科学专业数据结构习题 60 2. 完全二叉树一定存在度为1的结点。 3. 对于有N个结点的二叉树,其高度为log2n。 4.深度为K的二叉树中结点总数≤2k-1。 5. 二叉树以后序遍历序列与前序遍历序列反映的同样的信息(他们反映的信息不独立)。 6. 二叉树的遍历结果不是唯一的. 7. 二叉树的遍历只是为了在应用中找到一种线性次序。 8. 一个树的叶结点,在前序遍历和后序遍历下,皆以相同的相对位置出现。 9. 二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该树的根结点是那一个,则可以确定这棵二叉树。 10. 一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的。 11.对一棵二叉树进行层次遍历时,应借助于一个栈。 12.用树的前序遍历和中序遍历可以导出树的后序遍历。 13.采用二叉链表作存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的。 14. 用一维数组存储二叉树时,总是以前序遍历顺序存储结点。 15. 中序遍历二叉链存储的二叉树时,一般要用堆栈;中序遍历检索二叉树时,也必须使用堆栈。 16.中序遍历一棵二叉排序树的结点就可得到排好序的结点序列 17. 后序线索二叉树是不完善的,要对它进行遍历,还需要使用栈。 18.任何二叉树的后序线索树进行后序遍历时都必须用栈。 19.任何一棵二叉树都可以不用栈实现前序线索树的前序遍历。 20.由一棵二叉树的前序序列和后序序列可以唯一确定它。 21.完全二叉树中,若一个结点没有左孩子,则它必是树叶。 22. 二叉树只能用二叉链表表示。 23. 一棵有n个结点的二叉树,从上到下,从左到右用自然数依次给予编号,则编号为i的结点的左儿子的编号为2i(2i< n),右儿子是2i+1(2i+124. 给定一棵树,可以找到唯一的一棵二叉树与之对应。 25. 一棵树中的叶子数一定等于与其对应的二叉树的叶子数。