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

2017年中国农业科学院农业信息所808数据结构考研题库

  摘要

一、选择题

1. 由3个结点可以构造出多少种不同的有向树?( )

A.2

B.3

C.4

D.5

【答案】A

【解析】满足以下条件的有向图称为有向树:①有且仅有一个结点的入度为0; ②除树根外结点的入度为1; ③从树根到任一结点有一有向通路。

2. 元素a , b , c , d , e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d 开头的序列个数是( )。

A.3

B.4

C.5

D.6

【答案】B

【解析】d 首先出栈后的状态如下图所示。

此时可有以下4种操作:

(1)e 进找后出栈,出梭序列为decba 。

(2)c 出找,e 进找后出栈,出找序列为dceba 。

(3)cb 出找,e 进找后出栈,出找序列为dcbea 。

(4)cba 出找,e 进找后出找,出找序列为dcbae 。

3. 在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。

A. 直接插入排序

B. 起泡排序

C. 简单选择排序

D. 快速排序

【答案】A

【解析】当待排序列基本有序时,对冒泡排序来说,若最大关键字位于序列首部,则每趟排

序仅能使其“下沉”一个位置,要使其下沉到底部仍需趟排序,也即时间复杂度仍为而对简单选择排序来说,其比较次数与待排序列的初始状态无关;归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时

;直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也即间复杂度为0(nlog2n )

n-1趟,比较的时间复杂度由

降至

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

A. 可行的

B. 健壮的

C. 无二义性的

D. 可读性好的

【答案】A

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

5. 已知字符串S 为“abaabaabacacaabaabcc ”,模式串t 为“abaabc ”,采用KMP 算法进行匹配,第一次出现“失配” (

A.i=l,j=0

B.i=5,j=0

C.i=5,j=2

D.i=6,j=2

【答案】C

【解析】模式匹配(KMP )算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时,主串(本题为S )的指针(i )不需要回溯,而是利用已经得到的“部分匹配”的结果将模式串(t )向右“滑动”尽可能远的一段距离后,继续进行比较。模式串“滑动”的距离是由模式串(t )本身决定的,即t

的子串中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为“abaab”,其相等且最长的前后缀为“ab”,一次下一个j = 2。

6. 设与某资源相关联的信号量初值为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。

,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。

7. n 个顶点的无向图的邻接表最多有( )个表结点。

A.IT B.n (n-l ) C.n (n+l) D.n (n-l )/2

【答案】B

【解析】当n 个顶点构成的无向图是无向完全图时,则每一个结点都会和其余的n-1个结点连接,从而会产生n (n-l )个表结点。

8. 本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( )。

A. 命令解释程序

B. 中断处理程序

C. 系统调用服务程序

D. 用户登录程序

【答案】B

【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式。其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受

,中断则会停止当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别)

那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢? 这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的。处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址。所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去。如此,最先响应键盘的必然是中断处理程序。本题中,像命令解释器(例如cmd 窗口)、系统调用服务和用户登录程序都在中断处理程序后面。

9. 下列有关接口的叙述中错误的是:( )

A. 状态端口和控制端口可以合用同一寄存器

B. 接口中CPU 可访问寄存器,称为端口

端口

指令,C. 采用独立编址方式时,【答案】D 【解析】采用统一编码方式,存储器和端口共用统一的地址空间,不需要专用的

任何对存储器数据进行操作的指令都可用于端口的数据操作。所以D 错误

10.在系统内存中设置磁盘缓冲区的主要目的是( )。

A. 减少磁盘I/O次数

B. 减少平均寻道时间

端口地址和主存地址可能相同 D. 采用统一编址方式时,CPU 不能用访存指令访问