数据结构树的测试题(二)

合集下载

数据结构(树)习题与答案

数据结构(树)习题与答案

一、单选题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的结点,则叶子结点的个数为()。

数据结构考试题(二)

数据结构考试题(二)

数据结构试卷(一)一、选择题(30分)1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。

(A) O(n)(B) O(nlog2n)(C) O(1)(D) O(n2)2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。

(A) 2k-1(B) 2k(C) 2k-1(D) 2k-13.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。

(A) n(B) e(C) 2n(D) 2e4.在二叉排序树中插入一个结点的时间复杂度为()。

(A) O(1)(B) O(n)(C) O(log2n)(D) O(n2)5.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。

(A) n(B) n-1(C) m(D) m-16.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。

(A) 3(B) 4(C) 5(D) 87.设用链表作为栈的存储结构则退栈操作()。

(A) 必须判别栈是否为满(B) 必须判别栈是否为空(C) 判别栈元素的类型(D) 对栈不作任何判别8.下列四种排序中()的空间复杂度最大。

(A) 快速排序(B) 冒泡排序(C) 希尔排序(D) 堆9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是()。

(A) N0=N1+1(B) N0=N l+N2(C) N0=N2+1(D) N0=2N1+l10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。

(A) log2n+1(B) log2n-1(C) log2n(D) log2(n+1)二、填空题(42分)1.1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。

数据结构习题二答案

数据结构习题二答案

数据结构习题二答案问题一:链表的基本操作链表是一种常见的线性数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。

链表的基本操作包括:1. 创建节点:定义一个节点类,包含数据域和指向下一个节点的指针域。

2. 插入操作:在链表的指定位置插入一个新的节点。

3. 删除操作:删除链表中的指定节点。

4. 遍历操作:从头节点开始,依次访问链表中的每个节点。

问题二:二叉树的遍历二叉树是一种特殊的树形数据结构,其中每个节点最多有两个子节点。

二叉树的遍历方式有:1. 前序遍历:首先访问根节点,然后递归地遍历左子树,最后递归地遍历右子树。

2. 中序遍历:首先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。

3. 后序遍历:首先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。

问题三:图的表示图是一种复杂的非线性数据结构,由顶点和边组成。

图的表示方法有:1. 邻接矩阵:使用一个二维数组来表示图,其中矩阵的元素表示两个顶点之间的边是否存在。

2. 邻接表:使用链表来表示每个顶点的邻接顶点。

问题四:排序算法排序算法是将一组数据按照特定顺序重新排列的过程。

常见的排序算法包括:1. 冒泡排序:通过重复遍历待排序的数列,比较每对相邻元素的大小,并在必要时交换它们的位置。

2. 选择排序:从未排序序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后从剩余未排序元素中继续寻找最小(或最大)元素,以此类推。

3. 快速排序:选择一个元素作为“基准”,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再递归地对这两部分数据分别进行快速排序。

总结数据结构习题二涵盖了链表、二叉树、图和排序算法等基本概念和操作。

掌握这些基础知识对于深入理解计算机科学和进行高效的程序设计至关重要。

希望以上答案能够帮助你更好地理解和应用这些概念。

请注意,这只是一个示例答案,具体的习题答案需要根据实际的习题内容来编写。

数据结构试题及答案(2)

数据结构试题及答案(2)

数据结构试题一、单选题(每题 2 分,共20分)1.1. 对一个算法的评价,不包括如下( B )方面的内容。

A.健壮性和可读性B.并行性 C.正确性 D.时空复杂度2.2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( A )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.3. 对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.4. 一个栈的输入序列为 1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.5. AOV网是一种( D )。

A.有向图 B.无向图 C.无向无环图D.有向无环图6.6. 采用开放定址法处理散列表的冲突时,其平均查找长度( B )。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同 D.高于二分查找7.7. 若需要利用形参直接访问实参时,应将形参变量说明为( D )参数。

A.值 B.函数 C.指针 D.引用8.8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。

A.行号B.列号 C.元素值 D.非零元素个数9.9. 快速排序在最坏情况下的时间复杂度为( D )。

A.O(log2n) B.O(nlog2n) C.O(n) D.O(n2)10.10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A. O(n)B. O(1)C. O(log2n) D. O(n2)二、运算题(每题 6 分,共24分)1. 1. 数据结构是指数据及其相互之间的_对应关系(联系)。

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 1 分,共 10 分) 1.数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的值,还要存储元素之间的相互关系。

2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.折半查找方法要求待查表必须是有序的顺序表。

5.在有向图 G 中, V 2 , V 1 和 V 1 , V 2 是两条不同的边。

6.图的最小生成树是唯一的。

7.从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的前趋结点。

8.在单链表中,头结点是必不可少的。

9.对快速排序来说,初始序列为正序和反序,都是最坏情况。

10.广义表是特殊的线性表。

二、选择(每题 1 分,共 15 分) 1.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S 。

若每个元素出栈后立即进入队列 Q ,且 7 个元素出队的顺序是bdcfeag ,则栈 S 的容量至少是()。

A.1 B.2 C.3 D.4 2.下列线索二叉树1/ 8中(用虚线表示线索),符合后序线索树定义的是( )。

3.已知广义表 A= (( a,b ) ,(c,d) ) , 则 head(A) 等于 ( )。

A.(a,b) B.((a,b)) C.a,b D.a 4.设字符串s1=‘ABCDEFG’,s2=‘PQRST’, 则运算s=strcat(strsub(s1,2,strlen(s2)),strsub (s1,strlen(s2),2))后结果为()。

A.BCQR B.BCDEF C.BCDEFG D.BCDEFEF 5.具有 8 个顶点的连通图的深度优先生成树,其边数为()。

A.8 B.9 C.7 D.6 6.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 7.下列四种排序中()的空间复杂度最大。

数据结构试卷(二)及答案

数据结构试卷(二)及答案

数据结构试卷(二)一、选择题(24分)1.下面关于线性表的叙述错误的是()。

(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。

(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。

(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。

(A) 9 (B) 10 (C) 11 (D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。

(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。

(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,8二、填空题(24分)1.为了能有效地应用HASH查找技术,必须解决的两个问题是____________________和__________________________。

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)

• 12.已知二叉树的先序遍历和后序遍历不能唯一确定这棵 二叉树,这是因为不知道根结点是哪一个。

(T )
• 7.树结构中的每个结点最多只有一个直接前驱。 (T )
• 8.完全二叉树一定是满二叉树。 (F)
• 9.由树转换成二叉树,其根结点的右子树一定为空。 (T )
• 10.在先序遍历二叉树的序列中,任何结点的子树的所有 结点都是直接跟在该结点之后。( F )
• 11.一棵二叉树中序遍历序列的最后一个结点,发家是该 二叉树先序遍历的最后一个结点。 ( T )
B.CBDGFEA D.CBEGFDA
• 8.某二又树的后序遍历序列为DABEC,中序遍历序列为
DEBAC,则先序遍历序列为( D )。
• A.ACBED C.DEABC
B.DECAB D.CEDBA
• 9.在完全二叉树中,如果一个结点是叶子结点,则它没 有( C )。
• A.左孩子结点
B.右孩子结点
• 5.对于二叉树来说,第i层上最多有___2i-1______个结点。 • 6.由三个结点构成的二叉树,共有____5_____种不同的
结构。
• 7.由一棵二叉树的先序序列和___中序____序列可唯一 确定这棵二叉树。
习题6
• 9.先序序列和中序序列相同的二叉树为单右枝二叉树或 孤立结点。
• 10.设一棵二叉树共有50个叶子结点(终端结点),则有 ______49______度为2的结点。
• A. 5
B. 6
• C. 7
D. 8
• 6.二叉树的先序遍历序列为ABC的不同二叉树有( C ) 种形态。
• A. 3
B. 4
• C. 5
D.6
习题6

《数据结构》应用题参考习题

《数据结构》应用题参考习题

一.《树》应用题1. 已知一棵树边的集合为{<i,m>,<i,n>,<e,i>,<b,e>,<b,d>,<a,b>,<g,j>,<g,k>,<c,g>,<c,f>,<h,l>,<c,h>,<a,c>},请画出这棵树,并回答下列问题:(1)哪个是根结点?(2)哪些是叶子结点?(3)哪个是结点g的双亲?(4)哪些是结点g的祖先?(5)哪些是结点g的孩子?(6)哪些是结点e的孩子?(7)哪些是结点e的兄弟?哪些是结点f的兄弟?(8)结点b和n的层次号分别是什么?(9)树的深度是多少?(10)以结点c为根的子树深度是多少?2. 一棵度为2的树与一棵二叉树有何区别。

3. 试分别画出具有3个结点的树和二叉树的所有不同形态?4. 已知用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL,写出该二叉树的先序、中序和后序遍历序列。

5. 一棵深度为H的满m叉树有如下性质:第H层上的结点都是叶子结点,其余各层上每个结点都有m棵非空子树,如果按层次自上至下,从左到右顺序从1开始对全部结点编号,回答下列问题:(1)各层的结点数目是多少?(2)编号为n的结点的父结点如果存在,编号是多少?(3)编号为n的结点的第i个孩子结点如果存在,编号是多少?(4)编号为n的结点有右兄弟的条件是什么?其右兄弟的编号是多少?6. 找出所有满足下列条件的二叉树:(1)它们在先序遍历和中序遍历时,得到的遍历序列相同;(2)它们在后序遍历和中序遍历时,得到的遍历序列相同;(3)它们在先序遍历和后序遍历时,得到的遍历序列相同;7. 假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请写出该二叉树的后序遍历序列。

8. 假设一棵二叉树的后序序列为DCEGBFHKJIA,中序序列为DCBGEAHFIJK,请写出该二叉树的后序遍历序列。

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

习题六树和二叉树
一、单项选择题
1.以下说法错误的是 ( A )
A.树形结构的特点是一个结点可以有多个直接前趋
B.线性结构中的一个结点至多只有一个直接后继
C.树形结构可以表达(组织)更复杂的数据
D.树(及一切树形结构)是一种"分支层次"结构
E.任何只含一个结点的集合是一棵树
2.下列说法中正确的是 ( D )
A.任何一棵二叉树中至少有一个结点的度为2
B.任何一棵二叉树中每个结点的度都为2
C.任何一棵二叉树中的度肯定等于2
D.任何一棵二叉树中的度可以小于2
3.讨论树、森林和二叉树的关系,目的是为了( A )
A.借助二叉树上的运算方法去实现对树的一些运算
B.将树、森林按二叉树的存储方式进行存储
C.将树、森林转换成二叉树
D.体现一种技巧,没有什么实际意义
4.树最适合用来表示 ( C )
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )A.9 B.11 C.15 D.不确定
6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。

与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。

A.M1 B.M1+M2 C.M3 D.M2+M3
7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E )
A. 250 B. 500 C.254 D.505 E.以上答案都不对
8.二叉树的第I层上最多含有结点数为( C )
A.2I B. 2I-1-1 C. 2I-1 D.2I -1
10.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A.2h B.2h-1 C.2h+1 D.h+1
11. 利用二叉链表存储树,则根结点的右指针是( B )。

A.指向最左孩子 B.指向最右孩子 C.空 D.非空
12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( A )。

A.CBEFDA B. FEDCBA C. CBEDFA D.不定
13.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( D )。

A.acbed B.decab C.deabc D.cedba
14.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( B )A.都不相同 B.完全相同
C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同
15.在完全二叉树中,若一个结点是叶结点,则它没( C )。

A.左子结点 B.右子结点
C.左子结点和右子结点 D.左子结点,右子结点和兄弟结点
20.由3 个结点可以构造出多少种不同的二叉树?( D )
A.2 B.3 C.4 D.5
22. 一棵有n个结点的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组A[1..n]中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是( D )
A.A[2i](2i<=n) B.A[2i+1](2i+1<=n)
C.A[i-2] D.条件不充分,无法确定
二、判断题(在各题后填写“√”或“×”)
1. 完全二叉树一定存在度为1的结点。

( )
2.对于有N个结点的二叉树,其高度为log2n。

( )
3. 二叉树的遍历只是为了在应用中找到一种线性次序。

( )
4. 一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的。

( )
5. 用一维数组存储二叉树时,总是以前序遍历顺序存储结点。

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

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

( )
8. 二叉树只能用二叉链表表示。

( )
9. 给定一棵树,可以找到唯一的一棵二叉树与之对应。

( )
10. 用链表(llink-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n-1个空指针。

( )
11.树形结构中元素之间存在一个对多个的关系。

( )
12.将一棵树转成二叉树,根结点没有左子树。

( )
13.度为二的树就是二叉树。

( )
三、填空题
1.在二叉树中,指针p所指结点为叶子结点的条件是___ ___。

2.深度为k的完全二叉树至少有___ ____个结点,至多有___ ____个结点。

3.高度为8的完全二叉树至少有______个叶子结点。

4.具有n个结点的二叉树中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL。

5.树的主要遍历方法有________、________、________等三种。

6.一个深度为k的,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依此对结点编号,则编号最小的叶子的序号是__ _;编号是i的结点所在的层次号是_ __(根所在的层次号规定为1层)。

7.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是______。

8.二叉树的先序序列和中序序列相同的条件是___ ___。

9.一个无序序列可以通过构造一棵___ ___树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。

10.若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的____ __序列中的最后一个结点。

四、应用题
1.树和二叉树之间有什么样的区别与联系?
2.分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

3.分别给出下图所示二叉树的先根、中根和后根序列。

5.将下列由三棵树组成的森林转换为二叉树。

(只要求给出转换结果)
其中BT为树根结点的指针,其值为6,Lchild,Rchild分别为结点的左、右孩子指针域,data 为结点的数据域。

试完成下列各题:
(l)画出二叉树BT的逻辑结构;
(2)写出按前序、中序、后序遍历该二叉树所得到的结点序列;
(3)画出二叉树的后序线索树。

相关文档
最新文档