2018年武汉科技大学计算机科学与技术学院856数据结构(C语言版)考研仿真模拟五套题
● 摘要
一、单项选择题
1. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
A.0(n)
B.0(n+e) C. D.
【答案】B
【解析】由于输出每个顶点的同时还要删除以它为起点的边,故拓扑排序的时间复杂度为0(n+e)
2. 假定编译器规定int 和short 类型长度分别为32位和16位, 执行下列C 语言语句:
;
A.00007FFAH
B.0000FFFAH
C.FFFF7FFAH
D.FFFFFFFAH
【答案】B 。
X 和y 均为无符号数, 其中X 为16位, y 为32位, 将16位无符号数转化成32位无符【解析】
号数, 前面要补零。因为X=65530=FFFAH, 所以y=0000FFFAH。
3. 已知三叉树T 中6个叶结点的权分别是2, 3, 4, 5, 6, 7, T 的带权(外部) 路径长度最小是 ( )
A.27
B.46
C.54
D.56
【答案】B
【解析】利用三叉树的6个叶子结点的权构建最小带权生成树, 最小的带权路径长度为
4. 下列选项中, 不能构成折半查找中关键字比较序列的是( )。
A.500, 200, 450, 180
B.500, 450, 200, 180
C.180, 500, 200, 450
D.180, 200, 500, 450
【答案】A
【解析】折半查找的过程是:先确定待查找记录所在的范围, 然后逐步缩小范围直到找到或找
:得到y 的机器数为( )。
不到该记录为止。折半查找的关键字序列满足:对每一个关键字, 其后面的所有关键字序列或者都小于等于该关键字或者都大于等于该关键字。A 项错误, 第三次比较的关键字为450, 说明待查关键字位于200〜450间, 所以第四次比较时不会遇到关键字180。
5. 若无向图中含7个顶点, 则保证图G 在任何情况下都是连通的, 则需要的边数最少是( )。
A.6
B.15
C.16
D.21
【答案】C
【解析】要保证无向图G 在任何情况下都是连通的, 即任意变动图G 中的边, G 始终保持连通。首先需要图G 的任意6个结点构成完全连通子图
再添加一条边将第7个结点与, 需条边, 然后连接起来, 共需16条边。本题非常容易错误地选择选项A , 主要原因是对“保证图G 在任何情况下都是连通的”的理解, 分析选项A , 在图G 中, 具有7个顶点6条边并不能保证其一定是连通图, 即有n-1条边的图不一定是连通图。分析选项D , 图G 有7个顶点21条边, 那么图G 一定是无向完全图, 无向完全图能保证其在任何情况下都是连通的, 但是这不符合题目中所需边数最少的要求。
6. 从堆中删除一个元素的时间复杂度为( )。
A.O(1) B.
C.O(n) D.
【答案】B
【解析】堆中删除一个元素,需要重新调整堆,其时间复杂度为
7. 对线性表进行折半查找时,要求线性表必须( )。
A. 以顺序方式存储
B. 以顺序方式存储,且数据元素有序
C. 以链接方式存储
D. 以链接方式存储,且数据元素有序
【答案】B
【解析】二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。折半查找方法适用于对以顺序方式存储的有序表的查找,查找效率较高。
。
8. 若一棵二叉树的前序遍历序列和后序遍历序列分别为1, 2, 3, 4和4, 3, 2, 1, 则该二叉树的中序遍历序列不会是( )。
A.1, 2, 3, 4
B.2, 3, 4, 1
C.3, 2, 4, 1
D.4, 3, 2, 1
【答案】C
【解析】题目中的二叉树的先序序列和后序序列正好相反, 这样的二叉树每层只有一个结点。该二叉树的形态如下图所示。
从左至右, 这8棵二叉树的中序序列分别为:
(1)4, 3, 2, 1,
(2)3, 4, 2, 1
(3)2, 4, 3, 1
(4)2, 3, 4, 1
(5)1, 4, 3, 2
(6)1, 3, 4, 2
(7)1, 2, 4, 3
(8)1, 2, 3, 4
显然选项C 的中序序列不会出现。
9. 用邻接表存储图所用的空间大小( )。
A. 与图的顶点数和边数都有关
B. 只与图的边数有关
C. 只与图的顶点数有关
D. 与边数的平方有关
【答案】A
【解析】邻接表就是对图G 中的每个顶点建立一个单链表,第i 个单链表中的结点表示依附于顶点的边,这个单链表就称为顶点的边表。因此邻接表既存储图的所有顶点,也存储顶点之间的边的信息。
10.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。
A. 插入