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

2018年河南大学软件学院928专业基础课(程序设计、数据结构)[专业硕士]之数据结构考研强化五套模拟题

  摘要

一、单项选择题

1. 下列有关总线定时的叙述中, 错误的是( )。

A. 异步通信方式中, 全互锁协议最慢

B. 异步通信方式中, 非互锁协议的可靠性最差

C. 同步通信方式中, 同步时钟信号可由多设备提供

D. 半同步通信方式中, 握手信号的采样由同步时钟控制

【答案】C

A 项正确, 异步通信方式中, 全互锁协议最慢, 主从模块都需要等待确认后才能撤销其【解析】

信号; B 项正确, 异步通信方式中, 非互锁协议没有相互确认机制, 因此可靠性最差; C 项错误, 同步通信要遵循统一的时钟信号, 不能由多设备提供; D 项正确, 半同步通信方式中, 握手信号的采样由同步时钟控制。

2. 向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。

A.h ﹣>next =s ;

B.s ﹣>next =h ;

C.s ﹣>next =h ;h ﹣>next =s ;

D.s ﹣>next =h ﹣next ;h ﹣>next =s ;

【答案】D

【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。

3. 在双向链表指针P 的结点前插入一个指针q 的结点操作是( )。

A.p ﹣>llink =q ;q ﹣>Rlink =p ;p ﹣>Llink ﹣>Rlink =q ;q ﹣>Llink =q ;

B.p ﹣>llink =q ;p ﹣>Llink ﹣>Rlink =q ;q ﹣>Rlink =p ;q ﹣>Llink =p ﹣>Llink ;

C.q ﹣>Rlink =p ;q ﹣>Llink =p ﹣>L1ink ;p ﹣>L1ink ﹣>Rlink =q ;p ﹣>Llink =q ;

D.q ﹣>llink =p ﹣>llink;q ﹣>Rlink =q ;p ﹣>llink =q ;p ﹣>llink =q ;

【答案】C

4. 下列关于管道(Pipe)通信的叙述中, 正确的是( )

A. —个管道可实现双向数据传输

B. 管道的容量仅受磁盘容量大小限制

C. 进程对管道进行读操作和写操作都可以被阻塞

D. —个管道只能有一个读写进程或一个写进程对其操作

【答案】C

【解析】只有写进程才能对管道写入数据, 读进程对管道进行读取数据, 只能半双工通信, 即某一时刻只能单向传输。管道为空, 则读操作被堵塞, 而如果有写操作对管道进行写的话那就要堵塞了。那么C 正确

5. 设系统缓冲区和用户工作均采单, 从外读入1个数据块到系统缓冲区的时间为100, 从系统缓冲区读入1个数据块到用户工作区的时间为5, 对用户工作区中的1个数据块行分析的时间为90(如下图所示) 。进程从外设读入并分析2个数据块的最短时间是( )

A.200

B.295

C.300

D.390

【答案】C

【解析】数据块1从外设到用户工作区的总时间为105, 在这段时间中数据块2没有进行操作。在数据块1进行分析处理时, 数据块2从外设到用户工作区的总时间为105, 这段时间是并行的。再加上数据块2进行处理的时间90, 总共是300, 故答案为C 。

6. 对于循环队列( )。

A. 无法判断队列是否为空

B. 无法判断队列是否为满

C. 队列不可能满

D. 以上说法都不是

【答案】D

【解析】循环队列也会出现队列满的情况,并且循环队列也可以判断是否为空或满。至少可以通过两种方法进行判断:①另设一个布尔变量来区别队列是空还是满;②队满时,(rear+1)

font 。

7. 算法的计算量的大小称为计算的( )。

A. 效率

B. 复杂性

C. 现实性

D. 难度

【答案】B

【解析】算法复杂度通常分为时间复杂度和空间复杂度,算法的计算量的大小可以用时间复杂度衡量,即可以称为计算的复杂度。

8. 对有2个顶点e 条边且使用邻接表存储的有向图进行广度优先遍历, 其算法时间复杂度是( )。 A. B. C. D.

【答案】C 。

【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,

查找每个顶点的邻接点所需时间为

, 其中n 为图中顶点数。而当以邻接表作图的存储结构时, 找邻接点所需时间为0(e), 其中e 为无向图中边的数或有向图中弧的数。由此, 当以邻接表作存储结构时, 深度优先搜索遍历图的时间复杂度为。即可得出正确答案。

9. 循环两列放在一维数组中, end1指向队头元素, end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作, 队列中最多能容纳M-1个元素。初始时为空, 下列判断队空和队满的条件中, 正确的是( )

A. 队空:endl==end2; 队满:endl==(end2+l)modM

B. 队空Gendl==end2; 队满:Gend2==(endl+1)mod(M-1)

C. 队空Gend2==(endl+1)modM; 队满:Gendl==(end2+l)modM

D. 队空:

【答案】A

【解析】在循环队列中, 在少用一个元素空间的前提下, 可约定入队前, 测试尾指针在循环意义下加1后是否等于头指针, 若相等, 则队满。而队空的条件还是首尾指针是否相等。

10.用户在删除某文件的过程中, 操作系统不可能执行是( )

A. 删除此文件所在的目录

B. 删除与此文件关联的目录项

队满: