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

2018年南开大学计算机与控制工程学院816C语言与数据结构[专业硕士]考研基础五套测试题

  摘要

一、填空题

1. 设广义表L =(( ),( )) ,则head(L)是_____tail(L)是_____L的长度是_____;深度是_____。

【答案】( );(( )) ;2;2

【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。

2. 在哈希函数中,p 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

3. 在n 个顶点的非空无向图中,最多有_____个连通分量。

【答案】n

【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。

4. 设为哈夫曼树的叶结点数目,则该哈夫曼树共有_____个结点。 【答案】

【解析】哈夫曼树只有度为0和2的节点。

5. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4;2

6. 阅读下列程序,指出其功能,并写出空格处应填上的语句。

第 2 页,共 55 页

【答案】

【解析】本题是在哈希表中插入值为item 的元素,如该元素已在哈希表中,报告出错。

7. 在基于关键字比较且时间为_ 的排序中,若要求排序是稳定的,则可选用_____排序;若要求就地排序(及辅助空间为O(1)),则可选用_____排序。

【答案】归并;堆

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

【答案】空树或任何结点至多只有右子树的二叉树

【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。

9. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

10.二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

二、单项选择题

11.设与某资源相关联的信号量初值为3,当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( ).

A.0、1

B.1、0

C.1、2

D.2、0

【答案】B

【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0.

12.排序过程中, 对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中, 每一趟排序结束时都至少能够确定一个元素最终位置的方法是( )。

Ⅰ. 简单选择排序

Ⅱ. 希尔排序

Ⅲ. 快速排序

Ⅳ. 堆排

第 3 页,共 55 页

Ⅴ. 二路归并排序

A. 仅Ⅰ、Ⅲ、Ⅳ

B. 仅Ⅰ、Ⅱ、Ⅲ

C. 仅Ⅱ、Ⅲ、Ⅳ

D. 仅Ⅲ、Ⅳ、Ⅴ

【答案】A 。

【解析】其中简单选择排序、堆排序属于选择类排序, 每一趟排序结束时将确定最大(或最小) 关键字所在的位置。快速排序每一趟排序结束时将确定基准关键字所在的位置。希尔排序、二路归并排序每一趟排序结束时不一定能确定一个元素的最终位置。

13.4个圆盘的Hanoi 塔,总的移动次数为( )。

A.7 B.

C.15

D.16

【答案】C

【解析】Hanoi 问题总移动次数为:2M 次。

14.某文件占10个磁盘块, 现要把该文件磁盘块逐个读入主存缓冲区, 并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,

把一个磁盘块读人缓冲区的时间为

送到用户区的时间是, CPU

对一块数据进行分析的时间为

下, 读人并分析完该文件的时间分别是( )。 A. B. C. D.

【答案】B

【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的, 所以对单一缓冲区, 从磁盘写入和读出到用户区的操作必须串行执行, 也就是要保证互斥操作。而CPU 对数据的分析与从用户区读数据也是需要互斥操作, 但是CPU 分析与从磁盘写入缓冲区的操作可以并行。从本题看, 由于分析所用的时间小于从磁盘写入缓冲区的时间, 因此, CPU 会空闲。

单缓冲区的总时间=(磁盘写入缓冲区时间+缓冲区读出时间)

间=(100+50)X10+50=1550ns。

当采用双缓冲区时, 每块缓冲区的操作也必须满足互斥操作, 但是, 对两块缓冲区的操作却可以并行, 所以, 当第一个缓冲区写满以后, 磁盘紧接着写另一个缓冲区, 同时, 前一个已经满了的缓冲区被读出到用户区, 并立即进行CPU 的数据分析。读出操作和数据分析必须互斥进行, 故从时间上看, 当数据被读出并分析后, 恰好另一个缓冲区也写满了, 可以立即进行读出数据到用户区并进行数据分析。两块缓冲区交替进行读写, 直到数据分析完毕, 因此,

第 4 页,共 55 页 , 将缓冲区的数据传

。在单缓冲区和双缓冲区结构处理最后一块数据的时