数据结构习题(第六章)

合集下载

中国农业大学_821数据结构_《数据结构》习题(6)

中国农业大学_821数据结构_《数据结构》习题(6)

第6章 二叉树与树一、回答题1. 图6-1所示的树的叶子结点、非中端结点、每个结点的度及树的深度各是多少?图6-1 树2. 已知一棵树边的集合表示为:{ ( L, N ), ( G, K ), ( G, L ), ( G, M ), ( B, E ), ( B, F ), ( D, G ), ( D, H ), ( D, I ), ( D, J ), ( A, B ), ( A, C ), ( A, D ) },画出这棵树,并回答以下问题:(1) 树的根结点是哪个?哪些是叶子结点?哪些是非终端结点? (2) 树的度是多少?各个结点的度是多少? (3) 树的深度是多少?各个结点的层数是多少?(4) 对于结点G ,它的双亲结点、祖先结点、孩子结点、子孙结点、兄弟和堂兄弟分别是哪些结点?3. 如果一棵度为m 的树中,度为1的结点数为n 1,度为2的结点数为n 2,……,度为m 的结点数为n m ,那么该树中含有多少个叶子结点?有多少个非终端结点?ABECDFGHJI4. 任意一棵有n 个结点的二叉树,已知有m 个叶子结点,能否证明度为2结点有m-1个?5. 已知在一棵含有n 个结点的树中,只有度为k 的分支结点和度为0的叶子结点,那么该树含有的叶子结点的数目是多少?6. 一棵含有n 个结点的k 叉树,可能达到的最大深度和最小深度各为多少?7. 对于3个结点A 、B 、C ,可以过程多少种不同形态的二叉树?8. 深度为5的二叉树至多有多少个结点?9. 任何一棵二叉树的叶子结点在先序、中序和后序遍历中的相对次序是发生改变?不发生改变?不能确定?10. 设n 、m 为一棵二叉树上的两个结点,在中序遍历时,n 在m 前的条件是什么? 11. 已知某二叉树的后续遍历序列是dabec ,中序遍历序列是debac ,那么它的前序遍历序列是什么?12. 对一棵满二叉树,m 个树叶,n 个结点,深度为h ,则n 、m 和h 之间的关系是什么? 13. 对图6-2(a)和(b)所示的二叉树,它们的经过先序、中序和后序遍历后得到的结点序列分别是什么?画出它们的先序线索二叉树和后序线索二叉树。

数据结构-习题-第六章-树

数据结构-习题-第六章-树

数据结构-习题-第六章-树和二叉树E F D G A B / + + * - C * 第六章 树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( )A .-A+B*C/DE B. -A+B*CD/EC .-+*ABC/DE D. -+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 .5B .6C .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-n B.m-n-1 C.n+1 D.条件不足,无法确定【南京理工大学2000 一、17(1.5分)】7. 树是结点的有限集合,它( (1))根结点,记为T。

其余结点分成为m(m>0)个((2))的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。

数据结构第六章树和二叉树习题及答案

数据结构第六章树和二叉树习题及答案

习题六树和二叉树一、单项选择题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.2IB .2I-1-1 C .2I-1D .2I-110.一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有()结点A.2h B .2h-1 C .2h+1 D .h+111. 利用二叉链表存储树,则根结点的右指针是()。

《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案

《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案

《数据结构(C语言版第2版)》(严蔚敏著)第六章练习题答案第6章图1.选择题(1)在一个图中,所有顶点的度数之和等于图的边数的()倍。

A.1/2B.1C.2D.4答案:C(2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A.1/2B.1C.2D.4答案:B解释:有向图所有顶点入度之和等于所有顶点出度之和。

(3)具有n个顶点的有向图最多有()条边。

A.n B.n(n-1)C.n(n+1)D.n2答案:B解释:有向图的边有方向之分,即为从n个顶点中选取2个顶点有序排列,结果为n(n-1)。

(4)n个顶点的连通图用邻接距阵表示时,该距阵至少有()个非零元素。

A.n B.2(n-1)C.n/2D.n2答案:B所谓连通图一定是无向图,有向的叫做强连通图连通n个顶点,至少只需要n-1条边就可以了,或者说就是生成树由于无向图的每条边同时关联两个顶点,因此邻接矩阵中每条边被存储了两次(也就是说是对称矩阵),因此至少有2(n-1)个非零元素(5)G是一个非连通无向图,共有28条边,则该图至少有()个顶点。

A.7B.8C.9D.10答案:C解释:8个顶点的无向图最多有8*7/2=28条边,再添加一个点即构成非连通无向图,故至少有9个顶点。

(6)若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是()图。

A.非连通B.连通C.强连通D.有向答案:B解释:即从该无向图任意一个顶点出发有到各个顶点的路径,所以该无向图是连通图。

(7)下面()算法适合构造一个稠密图G的最小生成树。

A.Prim算法B.Kruskal算法C.Floyd算法D.Dijkstra算法答案:A解释:Prim算法适合构造一个稠密图G的最小生成树,Kruskal算法适合构造一个稀疏图G的最小生成树。

(8)用邻接表表示图进行广度优先遍历时,通常借助()来实现算法。

A.栈 B.队列 C.树D.图答案:B解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

数据结构习题第6章

数据结构习题第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、在一个有向图中,所有顶点的度入之和等于所有顶点的出度之和的( ) 倍。

A、1/2B、1C、2D、42、一个具有n个顶点的有向图最多有()条边。

A、n×(n-1)/2B、n×(n-1)C、n×(n+1)/2D、n23、在一个具有n个顶点的无向图中,要连通全部顶点至少需要( )条边。

A、nB、n+1C、n-1D、n/24、在一个图中,所有顶点的度数之和等于图的边数的( )A、1/2B、1C、2D、45、为便于判别有向图中是否存在回路,可借助于()。

A、广度优先搜索算法B、最小生成树算法C、最短路径算法D、拓扑排序算法6、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A、1/2B、1C、2D、47、对于有n个顶点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法的时间复杂度是( )。

A、O(n)B、O(e)C、O(n+e)D、O(nxe)8、在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。

A、G中有弧<Vi,Vj>B、G中有一条从Vi到Vj的路径C、G中没有弧<Vi,Vj>D、G中有一条从Vj到Vi的路径9、用邻接表表示图进行深度优先遍历时,通常借助( ) 来实现算法。

A、栈B、队列C、树D、图10、具有n个顶点的有向图最多有( ) 条边。

A、nB、n(n-1)C、n(n+1)D、n211、下面哪一方法可以判断出一个有向图是否有环(回路):A、深度优先遍历B、拓扑排序C、求最短路径D、求关键路径12、3下列关于AOE网的叙述中,不正确的是()。

A、关键活动不按期完成就会影响整个工程的完成时间B、任何一个关键活动提前完成,那么整个工程将会提前完成C、所有的关键活动提前完成,那么整个工程将会提前完成D、某些关键活动提前完成,那么整个工程将会提前完成13、图的BFS生成树的树高比DFS生成树的树高( )A、小B、相等C、小或相等D、大或相等14、任何一个无向连通图的最小生成树。

数据结构课后习题(第6章)

数据结构课后习题(第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-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( )A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D.-+A*BC/DE【北京航空航天大学 1999 一、3 (2分)】2.算术表达式a+b*(c+d/e )转为后缀表达式后为( )【中山大学 1999 一、5】A .ab+cde/*B .abcde/+*+C .abcde/*++D 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-G 4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( )A .5B .6C .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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构习题(第六章)
一、单向选择题
1、关于二叉树,下列说法正确的是()
A、二叉树的度都为2
B、二叉树的度可以小于2
C、每一个结点的度都为2
D、至少有一个结点的度为2
2、设深度为h(h>0)的二叉树中只有度为0和度为2的结点,则此二叉树所含的结点总数至少为()。

A、2h
B、2h-1
C、2h+1
D、h+1
3、在树中,若结点A有4个兄弟,而且B是A的双亲,则B 的度为()。

A、3
B、4
C、5
D、6
4、若一棵完全二叉树中某结点无左孩子,则该结点一定是()。

A、度为1的结点
B、度为2的结点
C、分支结点
D、叶子结点
5、深度为k的完全二叉树至多有()个结点,至少有()个结点。

A、2k-1-1
B、2k-1
C、2k-1
D、2k
6、前序序列为ABC的不同二叉树有()不同形态。

A、3
B、4
C、5
D、6
7、若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其后序序列为
(),层次编码序列为()。

A、BCAGFED
B、DAEBCFG
C、ABCDEFG
D、BCAEFGD
8、遍历一棵具有n个结点的二叉树,在前序序列、中序序列和后序序列中所有叶子的相对次序()。

A、都不相同
B、完全相同
C、前序与中序不同
D、中序与后序不同
9、在由4棵树组成的森林中,第一、第二、第三和第四棵树的结点个数分别为30,10,20,5。

当把森林转换成二叉树后,对应的二叉树中,根结点左子树的结点个数为(B ),根结点右子树的结点个数为()。

A、20
B、29
C、30
D、35
10、具有n个结点(n>1)的二叉树的前序序列和后序序列正好相反,则该二叉树除叶子结点外每个结点()。

A、仅有左孩子
B、仅有右孩子
C、仅有一个孩子
D、都有左右孩子。

11、将一棵树转换成二叉树,树的前根序列与其对应的二叉树的(A )相等;树的后根序列与其对应的二叉树的()相等。

A、前序序列
B、中序序列
C、后序序列
D、层次序列
12、二叉树在线索化以后,仍不能有效解决的问题是()。

A、前序线索树中求前序直接后继结点
B、中序线索树中求中序直接前驱结点
C、中序线索树中求中序后继结点
D、后序线索树中求后序直接后继结点
13、一棵具有124个叶子结点的完全二叉树,最多有()个结点。

A、247
B、248
C、249
D、250
二、填空题
1、若一棵树的广义表表示为A(B(E,F),C(H,I,J,K),L),D(M(N)))。

则该树的度为(),树的深度为(),树中叶子结点个数为()。

2、若度为4的树T中度为1、2、
3、4的结点个数分别为
4、3、2、2,则T中叶子结点
的个数为()个。

3、一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数为()。

4、深度为k(k>0)的二叉树至多有()个结点,第i层上至多有()个结点。

5、已知二叉树有52个叶子结点,度为1的结点个数为30,则总结点个数为()。

6、已知二叉树中有30个叶子结点,则二叉树的总结点个数至少是()。

7、高度为6的完全二叉树至少有( )个结点。

8、一棵含有68个结点的完全二叉树,它的高度是()。

9、已知一棵完全二叉树的第6层上有6个结点(根结点的层数为1),则总的结点个数是(),其中叶子结点个数是()。

10、已知完全二叉树第6层上有10个叶子结点,则这棵二叉树的结点总数最多为(107 )。

11、一棵树转换成二叉树后,这棵二叉树的根结点一定没有()孩子,若树中有m个分支结点,则与其对应的二叉树中无右孩子的结点个数为()。

12、若用二叉链表表示具有n个结点的二叉树,则有()个空链域。

13、具有m个叶子结点的赫夫曼树,共有()个结点。

14、树的后根遍历序列与其对应的二叉树的(中序)遍历序列相同。

三、应用题
1、已知二叉树按照层次遍历(由树根开始从上而下,每一层自左而右)序列为
ABCDEFGHIJK,中序遍历序列是DBGEHJACIKF。

请构造一棵二叉树。

2、已知二叉树的中序遍历序列是ACBDGHFE,后序遍历序列是ABDCFHEG,请构造一
棵二叉树。

3、已知二叉树的前序、中序和后序遍历序列如下,请填写*处的字母。

(1)前序遍历序列:*BC***G*
(2)中序遍历序列:CB*EAGH*
(3)后序遍历序列:*EDB**FA
4、对于给定的一组权值{3,5,6,7,9},请构造相应的哈夫曼树,并计算其加权路径长度。

四、算法设计题
1、设二叉树以二叉链表为数据结构,请编写一个求二叉树叶子结点个数的算法。

提示:从根结点开始,若结点的左、右孩子均为空,则计数器加1,否则,依次遍历其左子树和右子树。

2、以二叉链表为数据结构,请编写计算二叉树深度的算法。

提示:计算二叉树深度的递归计算模型为:
0 当t=NULL
depth(t)=
max{depth(t->lchild), depth(t->rchild)}+1 当t!=NULL
3、设二叉树以二叉链表为数据结构,请编写一个算法,复制这棵二叉树。

提示:若二叉树不空,则申请一个结点空间,复制根结点数据,再分别递归复制其左链和右链。

4、以孩子兄弟链表作为树的存储结构,请编写计算树的深度的算法。

提示:数据结构可定义为:
typedef struct node {
char data;
struct nade *fc, *ns;
}CSnode;
其中,fc指向结点的第一个孩子,ns指向结点的右邻兄弟。

如果一个结点的fc为空,则表明该结点为叶子结点,否则,先计算fc的深度,再计算其所有ns的深度,取最大值即为树的深度。

相关文档
最新文档