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

2017年南华大学计算机科学与技术学院881数据结构考研强化模拟题

  摘要

一、选择题

1. 下面关于串的叙述中,不正确的是( )。

A. 串是字符的有限序列

B. 空串是由空格构成的串

C. 模式匹配是串的一种重要运算

D. 串既可以采用顺序存储,也可以采用链式存储

【答案】B

【解析】

空格构成的串称空格串。空串用表示。零个字符的串称为空串,空格也是一个字符,因此B 项不正确。

2. 下列不是设计一个“好”的算法应考虑达到的目标是( )。

A. 可行的

B. 健壮的

C. 无二义性的

D. 可读性好的

【答案】A

【解析】设计一个“好”的算法应考虑以下目标:正确性;可读性;健壮性;效率和低存储量需求。可行性是算法的五个基本特征之一,不是一个好的算法该达到的目标。

3. 相对于微程序控制器,硬布线控制器的特点是( )。

A. 指令执行速度慢,指令功能的修改和扩展容易

B. 指令执行速度慢,指令功能的修改和扩展难

C. 指令执行速度快,指令功能的修改和扩展容易

D. 指令执行速度快,指令功能的修改和扩展难

【答案】D

【解析】在同样的半导体工艺条件下,硬布线(组合逻辑)控制器的速度比微程序控制器的速度快。这是因为硬布线控制器的速度主要取决于逻辑电路的延迟,而微程序控制器增加了一级控制存储器,执行的每条微指令都要从控制存储器中读取,影响了速度。由于硬布线控制器一旦设计完成就很难改变,所以指令功能的修改和扩展难。因此,硬布线控制器的特点是指令执行速度快,指令功能的修改和扩展难。

4. 从堆中删除一个元素的时间复杂度为( )。

【答案】B

【解析】堆中删除一个元素,需要重新调整堆,其时间复杂度为

5. 在下列存储形式中,哪一个不是树的存储形式?( )

A. 双亲表示法

B. 孩子链表表示法

C. 孩子兄弟表示法

D. 顺序存储表示法

【答案】D

【解析】顺序存储就是利用一段连续的存储单元依次存储线性表中的元素。树中某个结点的孩子可以有多个,这就意味着,无论用哪种顺序将树中所有的结点存储到数组中,结点的存储位置都无法直接反映逻辑关系。因此简单的顺序存储表示不能满足树的基本要求。常用的三种树的表示法为:双亲表示法、孩子链表示法、孩子兄弟表示法。

6. 设二维数组(即m 行n 列)按行存储在数组

在一维数组B 中的下标为( )。

【答案】A

【解析】

的元素个数为

所以二维数组元素在一维数组B

中的下标为

需要注意数组B 的下标是从0开始,还是从1开始。

7. 哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的( )方法是哈希文件的关键。

A. 哈希函数

B. 除余法中的质数

C. 冲突处理

D. 哈希函数和冲突处理

【答案】D

【解析】哈希表是根据文件中关键字的特点设计一种哈希函数和处理冲突的方法将记录散列到存储设备上。

8. 对于100Mbps 的以太网交换机,当输出端口无排队直通(cut-throughswitching )方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是( ) A. B. C. D.

【答案】B

中,

则二维数组元素

【解析】直通交换方式是指以太网交换机可以在各端口间交换数据。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。通常情况下,直通交换方式只检查数据包的包头即前14个字节,由于不需要考虑前导码,只需要检测目的地址的6B ,

所以最短的传输延迟是

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

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

传送到用户区的时间是CPU 对一块数据进行分析的时间为

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

【答案】B

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

)处理最后一块数据的时

当采用双缓冲区时,每块缓冲区的操作也必须满足互斥操作,但是,

对两块缓冲区的操作却可以并行,所以,当第一个缓冲区写满以后,磁盘紧接着写另一个缓冲区,

同时,前一个已经满了的缓冲区被读出到用户区,并立即进行CPU 的数据分析。读出操作和数据分析必须互斥进行,故从时间上看,当数据被读出并分析后,恰好另一个缓冲区也写满了,可以立即进行读出数据到用户区并 进行数据分析。两块缓冲区交替进行读写,直到数据分析完毕,因此,总时间=(磁盘写入缓冲区时间)读出最后一块数据时间+CPU分析最后一块数据时间=

10.下列关于虚拟存储的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

【答案】D 。

【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断

,技术)将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。

将缓冲区的数据,在单缓冲区和双缓冲区结