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

2017年兰州大学信息科学与工程学院810计算机专业基础之数据结构考研导师圈点必考题汇编

  摘要

一、选择题

1. 一个C 语言程序在一台32位机器上运行。程序中定义了3个变量x 、Y 和z ,其中x 和z 为int 型,Y 为short 型。当x=127,Y=-9时,执行赋值语句z=x+Y后,x 、Y 和z 的值分别是( )。

A.x=0000007FH, Y=FFF9H, z=00000076H

B.x=0000007FH, Y=FFF9H, z=FFFF0076H

C.x=0000007FH, Y=FFF7H, z=FFFF0076H

D.x=0000007FH, Y=FFF7H, z=00000076H

【答案】D

【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”。例如,x 和z 为int 型,数据长32位,Y 为short 型,数据长16位,因此首先应将y 转换成32位的数据,然后再进行加法运算。运算采用补码的形式,而x 的补码是0000007FH , Y 的补码是FFFFFFF7H , 所以x+Y=00000076H。

2. 若无向图G= (V , E)中含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 —定是无向完全图,无向完全图能 保证其在任何情况下都是连通的,但是这不符合题目中所需边数最少的要求。

3. 下列关于图的叙述中,正确的是( )。

I. 回路是简单路径

II. 存储稀疏图,用邻接矩阵比邻接表更省空间

III. 若有向图中存在拓扑序列,则该图不存在回路

A. 仅 II

B. 仅 I 、II

C. 仅III

D. 仅 I 、III

【答案】C

【解析】第一个顶点和最后一个顶点相同的路径称为回路;序列中顶点不重复出现的路径称为简单路径;回路显然不是简单路径,所以选项I 错误。稀疏图用邻接表表示比邻接矩阵节省存储空间,稠密图适合用邻接矩阵的存储表示,所以选项II 错误。利用拓扑排序算法可以判断图中是否存在回路,即在拓扑排序输出结束后所余下的顶点都有前驱,则说明了只得到了部分顶点的拓扑有序序列,图中存在回路。所以选项III 正确。

4. 用数组r 存储静态链表,结点的next 域指向后继,工作指针j 指向链中结点,使j 沿链移动的操作为( )。

【答案】A

【解析】因为是用数组存储,这里所说的工作指针j 相当于数组的下标,结点是存储一个值域和next 域,next 域就是存放下一个结点的下表,所以只要将next 域中的值赋给j 就可以实现j 沿链移动。

5. 将两个各有N 个元素的有序表归并成一个有序表,其最少的比较次数是( )。

A.N

B.2N-1

C.2N

D.N-1

【答案】A

【解析】归并排序基本思想:归并排序是多次将两个或两个以上的有序表合并成一个新的有序表。最简单的归并是直接将两个有序的子表合并成一个有序的表。归并排序最好情况下的复杂度为

6. 某计算机存储器按字节编址,主存地址空间大小为64MB ,现用4Mx8位的RAM 芯片组成32MB 的主 存储器,则存储器地址寄存器MAR 的位数至少是( )。

A.22 位

B.23 位

C.25 位

D.26 位

【答案】D

【解析】虽然实际的主存储器(RAM 区)只有32MB , 但不排除还有ROM 区,考虑到存储器扩展的需要, MAR 应保证能访问到整个主存地址空间。因为主存的地址空间大小为64MB , 所以MAR 的位数至少需要26位。

7. 下列关于银行家算法的叙述中,正确的是( )

A. 银行家算法可以预防死锁

B. 当系统处于安全状态时,系统中一定无死锁进程

C. 当系统处于不安全状态时,系统中一定会出现死锁进程

D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件

【答案】B

【解析】银行家算法是避免死锁的方法。利用银行家算法,系统处于安全状态时没有死锁进程,故答案选B 。

8. 有六个元素6, 5, 4, 3, 2, 1顺序入栈,下列不是合法的出栈序列的是( )。

A.543612

B.453126

C.346521

D.234156

【答案】C

【解析】根据栈的后进先出的特点,对于C 选项中前两个元素得出栈顺序可以看出,4在5和6前先出栈,又根据入栈顺序,4在5和6后入栈,因此4出栈时,5和6必定在栈内,且5在6之上,所以出栈时5要比6先出找。

9. 如果本地域名服务无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为( )。

A.1条,1条

B.1条,多条

C. 多条,1条

D. 多条,多条

【答案】A

【解析】所谓递归查询方式就是:如果主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS 客户的身份向其他服务器继续发出查询请求报文,而不是让该主机自行下一步的查询。所以主机只需向本地域名服务器发送一条域名请求,采用递归查询方法,本地域名服务器也只需向上一级的根域名服务器发送一条域名请求,然后依次递归。正确选项为A 。

10.采用开址定址法解决冲突的哈希查找中,发生集聚的原因主要是( )。

A. 数据元素过多

B. 负载因子过大

C. 哈希函数选择不当

D. 解决冲突的算法选择不好