数据结构试题(含答案)
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
数据结构试题及答案

数据结构试题及答案⼀、选择题(共10题,每题1分,共10分)1.下⾯关于线性表的叙述中,错误的是哪⼀个?()A.线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元B.线性表采⽤顺序存储,便于进⾏插⼊和删除操作C.线性表采⽤链接存储,不必占⽤⼀⽚连续的存储单元D.线性表采⽤链接存储,便于插⼊和删除操作2.在⼀个单链表中,已知q所指结点是p所指结点的前驱,若在p和q之间插⼊s所指结点,则执⾏的操作是()。
A. s->next=p->next;p->next=s;B. q->next=s;s->next=p;C. p->next=s->next;s->next=p;D. p->next=s;s->next=q;3.设有三个元素X,Y,Z顺序进栈,下列得不到的出栈排列是( )。
A.XYZ B. YZX C. ZXY D. ZYX4.若⽤⼀个长度为6的数组来实现循环队列,且当前rear和front的值分别为0和3,则从队列中删除⼀个元素,再增加两个元素后,rear和front的值分别是( )。
A.1和5 B.2和4 C.4和2 D. 5和15.下列说法中正确的是()。
A.⼆叉树就是度为2的树 B.⼆叉树中不存在度⼤于2的结点C.⼆叉树中⾄少有⼀个结点的度为2 D.⼆叉树中任何⼀个结点的度都为2 6.在具有n个结点的⼆叉链表中,共有()个空指针。
A. nB. n-1C. n+1D. 不确定7.根据⼆叉树与树的转换关系可知,深度为h的满⼆叉树对应的森林由()棵树构成。
A.1 B.log2n C. h/2 D. h8.在⼀个⽆向图中,所有顶点的度数之和等于所有边数的()倍。
A.1/2 B.1 C. 2 D. 49.对17个元素的查找表做折半查找,则查找长度为5的元素下标依次是()。
A.8,17 B.5,10,12 C.9,16 D.9,1710.关于排序,下列说法中正确的是()。
数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。
2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。
3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。
4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。
6、三个结点a,b,c组成二叉树,共有种不同的结构。
7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。
8、图的遍历有两种,它们是。
9、堆排序的时间复杂度为。
10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。
二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构试题(含答案)

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。
2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。
A nB n/2C (n-1)/2D (n+1)/2?4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。
A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。
A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。
A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。
所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。
)A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。
A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。
10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。
A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。
数据结构试题及答案

数据结构试题及答案一、选择题(每小题2分,共20分),每个题的备选答案中,只有一个是正确的,请将答案填写在试题的括号中。
1、对顺序存储的线性表,设其长度为20,在任何位置上插入或删除操作都是等概率的。
插入一个元素时平均要移动表中的()个元素。
A.10 B.9 C.11 D.122、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表3、当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A.top++ B.top-- C.top = 0 D.top4、设入栈顺序为A,B,C,D,E,则出栈序列不可能是()。
A.EDCBA B.ABCDE C.ADEBC D.ABDEC5、已知关键字序列(46, 79, 56, 38, 40, 84),采用快速排序(以位于最左位置的关键字为基准)得到的第一次划分结果为:()A.{ 40, 38, 46, 56, 79, 84 } B.{ 38, 46, 79, 56, 40, 84 }C.{ 38, 46, 56, 79, 40, 84 } D.{ 40, 38, 46, 79, 56, 84 }6、一个有n个顶点和n条边的无向图一定是()。
A.不连通的B.连通的C.有环的D.无环的7、在一棵具有n个结点的二叉树的第i层上,最多具有()个结点。
A.2i B.2i-1 C.2i+1 D.2n8、对线性表采用折半查找法,该线性表必须()。
A.采用顺序存储结构B.采用顺序存储结构,且元素按值有序C.采用链式存储结构D.采用链式存储结构,且元素按值有序9、在一棵具有n个结点的完全二叉树中,分支结点的最大编号为()。
A.?(n-1)/2? B.?n/2? C.?n/2? D.?n/2? -110、在一个无向图中,所有顶点的度数之和等于所有边数的( ) 倍。
数据结构考试题及答案

数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。
答案:升序排列的序列5. 栈的特点是_______进,_______出。
答案:后进,先出6. 图中两点间存在边则称它们为_______。
答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。
答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。
栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。
8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。
其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。
四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。
```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。
```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。
如果有不清楚的地方,欢迎随时向老师询问。
祝您考试顺利!。
数据结构试题及答案(10套最新)

数据结构试题及答案(10套最新)数据结构试题及答案(10套最新)第一套试题:问题一:什么是数据结构?数据结构的作用是什么?回答:数据结构是一种组织和存储数据的方式,它关注数据元素之间的关系以及对数据元素的操作。
数据结构的作用包括提供高效的数据存储和访问方式,减少资源消耗,简化问题的解决方法,提高算法的性能和程序的可读性。
问题二:请列举几种常见的线性数据结构,并简要介绍它们的特点。
回答:常见的线性数据结构包括数组、链表和栈。
数组是一种连续存储数据元素的结构,具有随机访问的特点;链表是一种通过指针相连的数据元素,可以灵活地插入和删除元素;栈是一种遵循先进后出原则的数据结构,常用于解决递归问题。
问题三:请说明二叉树的定义及其性质。
回答:二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点。
二叉树具有以下性质:每个节点最多有两个子节点,分别称为左子节点和右子节点;左子树和右子树都是二叉树;二叉树的节点个数为n,边的个数为n-1。
问题四:在数组中查找一个元素的时间复杂度是多少?为什么?回答:在数组中查找一个元素的时间复杂度是O(n),其中n是数组的长度。
因为在数组中查找元素需要按照索引一个一个比较,最坏情况下需要比较n次才能找到目标元素。
问题五:请解释堆排序算法的原理及时间复杂度。
回答:堆排序算法利用堆这种数据结构进行排序。
首先将待排序的元素构建成一个大顶堆,然后将堆顶元素与最后一个元素交换,继续调整堆,再取出堆顶元素与倒数第二个元素交换,依次执行,最后得到从小到大排序的序列。
堆排序的时间复杂度为O(nlogn)。
第二套试题:问题一:请解释图的邻接矩阵和邻接表表示法。
回答:图的邻接矩阵表示法是使用二维数组来表示图的连接关系,数组中的元素表示相应节点之间的边的关系。
邻接表表示法使用链表来表示图的连接关系,链表中的元素表示相邻节点之间的边的关系。
问题二:请说明深度优先搜索算法的原理及其应用。
回答:深度优先搜索(DFS)算法是一种遍历或搜索图的算法,其原理是从起始节点开始,依次深入到尽可能远的节点,直到无法继续深入为止,然后回溯到上一个节点,再继续深入其他未访问过的节点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.是非题(正确的打“√”,错误的打“×”。
)1. 数据结构可用三元式表示(D,S,P)。
其中:D是数据对象,S是D上的关系,P是对D的基本操作集。
×2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。
×3. 字符串是数据对象特定的线性表。
4. 二叉树是一棵结点的度最大为二的树。
×5.邻接多重表可以用以表示无向图,也可用以表示有向图。
×6.可从任意有向图中得到关于所有顶点的拓扑次序。
×7.一棵无向连通图的生成树是其极大的连通子图。
×8.二叉排序树的查找长度至多为log2n。
×9.对于一棵m阶的B-树.树中每个结点至多有m 个关键字。
除根之外的所有非终端结点至少有┌m/2┐个关键字。
×10.对于目前所知的排序方法,快速排序具有最好的平均性能。
11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
×12. 二维数组是其数据元素为线性表的线性表。
13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。
×14. 折半查找不适用于有序链表的查找。
15. 完全二叉树必定是平衡二叉树。
16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。
17. 队列是与线性表完全不同的一种数据结构。
×18. 平均查找长度与记录的查找概率有关。
19. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。
×20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。
×二.选择题1. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到 ( e ) 的序列。
a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,12. 递归程序可借助于( b )转化为非递归程序。
a:线性表 b: 栈 c:队列 d:数组3. 在下列数据结构中( c )具有先进先出(FIFO)特性,( b )具有先进后出(FILO)特性。
a:线性表 b:栈 c:队列 d:广义表4. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’)的结果是 ( d ) 。
a: ‘database’ b: ‘data-base’ c: ‘bas’ d: ‘data-basucture’5. 设有二维数组A 5 x 7 ,每一元素用相邻的4个字节存储,存储器按字节编址。
已知A的起始地址为100。
则按行存储时,元素A06的第一个字节的地址是(d)按列存储时,元素A06的第一个字节的地址是(a)a: 220 b: 200 c: 140 d: 1246. 对广义表 A=((a,(b)),(c,()),d)执行操作gettail(gethead(gettail(A)))的结果是:(b)。
a:() b: (()) c: d d: (d)7.假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7, 19, 22, 6, 32, 14。
若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是(g),频率为32的字符编码是(c)。
a: 00 b: 01 c: 10 d: 11e: 011 f: 110 g: 1110 h:11118. 对二叉排序树(b)可得到有序序列。
• • a:按层遍历 b:前序遍历 c:中序遍历 d:后序遍历9.已知某树的先根遍历次序为abcdefg,后根遍历次序为cdebgfa。
若将该树转换为二叉树,其后序遍历次序为(d)。
a: abcdefg b: cdebgfa c: cdegbfa d: edcgfba10.对一棵完全二叉树进行层序编号。
则编号为n的结点若存在右孩子,其位序是( d )。
编号为n的结点若存在双亲,其位置是( a )。
a: n/2 b: 2n c:2n-1 d:2n+1 e:n f: 2(n+1)11.关键路径是指在只有一个源点和一个汇点的有向无环网中源点至汇点(c)的路径。
a:弧的数目最多 b:弧的数目最少 c:权值之和最大 d:权值之和最小12. 哈希表的查找效率取决于(d)。
a: 哈希函数 b:处理冲突的方法。
c:哈希表的装填因子。
d:以上都是13.从逻辑上可以把数据结构分成( c )。
A. 动态结构和静态结构B. 顺序组织和链接组织C. 线性结构和非线性结构D. 基本类型和组合类型14.在计算递归函数时,如不用递归过程,应借助于( b )这种数据结构。
A. 线性表B. 栈C. 队列D. 双向队列15.若已知某二叉树的中序和后序遍历序列分别BCAEFD和CBFEDA,则该二叉树的先序序列为( a )。
A. ABCDEFB. ABDCEFC. ABDCFED. ACBDFE16.当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中( d)为佳。
A. 起泡排序B. 快速排序C. 直接插入排序D. 简单选择排序17.若从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序,则该二叉树是( c )。
A. 二叉排序树B. 赫夫曼树C. 堆D. 平衡二叉树18.下图所有可能的拓扑序列有( b )种。
A. 2B. 3C. 4D. 519.下列排序算法中,( d )算法可能会出现:初始数据为正序时,花费的时间反而最多。
A. 堆排序B. 起泡排序C. 归并排序D. 快速排序20.右图为一棵3阶B-树。
20 ,25在该树上插入元素15后的B-树是( c )。
10 , 14 21 35A.15 , 25B.20 , 2510 , 14 20 , 21 35 10 , 14 15 , 21 35C. 20D. 14 , 2514 25 10 , 15 20 , 21 3510 15 21 3521.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与森林F对应的二叉树根结点的右子树上的结点个数是( d )。
A. m1B. m1+m2C. m3D. m2+m322. 根据插入次序(80,90,100,110,85,70,75,60,72)建立二叉排序树。
图(a)是最终变化的结果。
若仍以该插入次序建立平衡二叉树。
图(c)是最终变化的结果。
80 8070 90 75 9060 75 85 100 60 70 85 10072 110 72 110a: b:90 9075 100 80 10070 80 110 75 70 85 11060 72 85 60 72c: d:23.设输入序列为20,45,30,89,70,38,62,19依次插入到一棵2-3树中(初始状态为空),该B-树为(b)。
再删除38,该B-树为(f)。
( 30 62 )( 45 )(19,20)( 38 45 )( 70,89 )( 30 )( 70 )(19 20)(38 )( 62 )( 89 )a: b:( 45 70 )( 45 )(20)( 62 )( 89 )( 20 )( 70 )(19)( 30 )( 19 ) ( 30,38 )( 62 )( 89 )c: d:( 30 70 )( 45 )(19,20)( 45 62)( 89 )( 20 )( 70 )(19 )(30 )( 62 )( 89 )e: f:24.已知一组待排序的记录关键字初始排列如下:45,34,87,25,67,43,11,66,27,78 。
( g )是快速排序法一趟排序的结果;( a )是希尔排序法(初始步长为4)一趟排序的结果;( b )是初始堆(大堆顶);( d )是基数排序法一趟排序的结果。
A.27,34,11,25,45,43,87,66,67,78 B.87,78,45,66,67,43,11,25,27,34 C.11,43,34,25,45,66,27,67,87,78 D.11,43,34,45,25,66,87,67,27,78 E.34,45,25,67,43,11,66,27,78,87 F.87,45,11,25,34,78,27,66,67,43 G.27,34,11,25,43,45,67,66,87,78 H.34,11,27,25,43,78,45,67,66,8725.若有序表中关键字序列为:14,20,25,32,34,45,57,69,77,83,92。
对其进行折半查找,则在等概率情况下,查找成功时的平均查找长度是( c )。
查找32时需进行( c )次比较。
A. 1B. 2C. 3D. 426. 设一棵二叉树BT的存储结构如下:1 2 3 4 5 6 7 8lchild 2 3 0 0 6 0 0 0data A B C D E F G Hrchild 0 5 4 0 8 7 0 0其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。
则该二叉树的高度为( d );第3层有( a )个结点(根结点为第1层)。
A.2 B. 3 C. 4 D. 527. 一个连通图的最小生成树( b )。
A.只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在28.若某二叉树有20个叶子结点,有20个结点仅有一个孩子,则该二叉树的总结点数是( c)。
A.40 B. 55 C. 59 D. 6129.已知哈希表地址空间为A[0..8],哈希函数为H(k)=k mod 7,采用线性探测再散列处理冲突。
若依次将数据序列:76,45,88,21,94,77,17存入该散列表中,则元素17存储的下标为( f );在等概率情况下查找成功的平均查找长度为( c )。
A. 0B. 1C. 2D. 3E. 4F. 5G. 6H. 730根据存储结构,依教材中的算法其深度优先遍历次序为(d)。
广度优先遍历次序为(c)。
各强连通分量的顶点集为()。
a: abcde. b: edcba. c: ecdab. d: ecadb.e: abc及ed f: ac及bed g: ab及ced h: bc及aed31. 已知某无向图的邻接表如下所示;( )是其原图。
( )是按该邻接表遍历所得深度优先生成树。
A. a bB. a bC. a bc d c d c de f e f e fD. a bE. a bF. a bd c c d c df e e f e f32.若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至表尾。