当前位置:问答库>考研试题

2018年武汉科技大学生物医学研究院856数据结构(C语言版)考研基础五套测试题

  摘要

一、单项选择题

1. —组记录的关键码为(46,79,56,38,40,84) ,则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。

A.(38,40,46,56,79,84)

B.(40,38,46,79,56,84)

C.(40,38,46,56,79,84)

D.(40,38,46,84,56,79)

【答案】C

【解析】快速排序是将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分记录的关键字小。

第一次比较:46比84小,不交换;

第二次比较:40比46小,交换,此时为(40,79,56,38,46,84) ;

第三次比较:46比79小,交换,此时为(40,46,56,38,79,84) ;

第四次比较:38比46小,交换,此时为(40,38,56,46,79,84) ;

第五次比较:56比46大,交换,此时为(40,38,46,56,79,84) ;

一次划分结束。

2. 用希尔排序方法对一个数据序列进行排序时, 若第1趟排序结果为9, 1, 4, 13, 7, 8, 20, 23, 15, 则该趟排序采用的增量(间隔) 可能是( )

A.2

B.3 C.4

D.5

【答案】B

【解析】对于A , 增量为2, 那么9, 4, 7, 20, 15是一组, 而它们是无序的, 所以A 错误

对于C , 增量为4, 那么9, 7, 15是一组, 而它们是无序的, 所以C 错误

对于D , 增量为5, 那么9, 8是一组, 降序, 1, 20是一组, 而它们是升序, 所以D 也错误。对于B , 分为3组:9, 13, 20; 1, 7, 23; 4, 8, 15都是升序有序, 所以B 正确

3. 下列二叉排序树中查找效率最高的是( )。

A. 平衡二叉树

B. 二叉查找树

C. 没有左子树的二叉排序树

D. 没有右子树的二叉排序树

【答案】A

【解析】平衡二叉树的左子树和右子树的深度之差的绝对值不超过1。这就保证了二叉树的深度是级别的。二叉查找树或者是一颗空数;或者是具有下列性质的二叉树:①若左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若右子树不空,则右子树上所有结点的值均大于它的根结点的值;③左、右子树也分别为二叉排序树。B 、C 、D 三项均不能保证左子树和右子树的深度之差的绝对值不超过1, 甚至很大,因此查找效率低。

4. 一个非空广义表的表尾( )。

A. 不能是子表

B. 只能是子表

C. 只能是原子

D. 是原子或子表

【答案】B

【解析】广义表的定义是一个递归定义,当广义表非空时,称第一个元素是它的表头,称其余元素构成的表称为它的表尾。因此一个非空广义表的表尾只能是子表。

5. 动态存储管理系统中,通常可有( )种不同的分配策略。

A.1

B.2

C.3

D.4

E.5

【答案】C

【解析】动态存储管理系统中有以下三种:首次拟合法、最佳拟合法、最差拟合法。①首次拟合法,从表头指针开始查找可利用空间表,将找到的第一个大小不小于n 的空闲块的一部分分配给用户。②最佳拟合法,将可利用空间表中一个不小于n 且最接近n 的空闲块的一部分分配给用户。则系统在分配前首先要对可利用空间表从头到尾扫视一遍,然后从中找出一块不小于n 且最接近n 的空闲块进行分配。③最差拟合法,将可利用空间表中不小于n 且是链表中最大的空闲块的一部分分配给用户。

6. 假定基准程序A 在某计算机上的运行时间为100秒, 其中90秒为CPU 时间, 其余为若CPU 速度提高

A.55秒

B.60秒

C.65秒

D.70秒

时间。, 速度不变, 则运行基准程序A 所耗费的时间是( )。

【答案】D 。

CPU 速度提高50%, 即CPU 性能提高比为【解析】, 改进之后的CPU 运行时间秒。速度不变, 仍维持10秒, 所以运行基准程序A 所耗费的时间为70秒。

7. 静态链表中指针表示的是( )。

A. 下一元素的地址

B. 内存储器的地址

C. 下一元素在数组中的位置

D. 左链或右链指向的元素的地址

【答案】C

【解析】静态链表的一般结构为:struct static_list{ElemType data;int next;}

这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。

8. 某以太网拓扑及交换机当前转发表如下图所示, 主机后, 向主机

A.

C.

D. 和和 B.{2, 3}和{1} 和

{1}

向主机发送1个数据帧, 主机收到该帧发送一个确认帧, 交换机对这两个帧的转发端口分别是( )

【答案】B

【解析】

第一次交换机没有

这个数据报源MAC 地址的信息

所以只用从1端口转发。

的信息, 只能选择从其他端口全部发送, 同时记录, 确认帧发送时已经有的信息了