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

2018年浙江理工大学信息学院991数据结构考研仿真模拟五套题

  摘要

一、单项选择题

1. 下列说法不正确的是( )。

A. 图的遍历是从给定的源点出发每个顶点仅被访问一次

B. 遍历的基本方法有两种:深度遍历和广度遍历

C. 图的深度遍历不适用于有向图

D. 图的深度遍历是一个递归过程

【答案】C

【解析】图的遍历是指从图中的某一个顶点出发,按照某种搜索算法沿着图中的边对图中的所有顶点访问一次且仅访问一次。图的深度遍历类似于树的先序遍历,不仅适合无向图,也适合于有向图。

2. 假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3, 这些资源总数分别为18、6、22。时刻的资源分配情况如下表所示, 此时存在的一个安全序列是( )。

表 资源分配情况表

A.P0, P2, P4, P1, P3

B.P1, P0, P3, P4, P2

C.P2, P1, P0, P3, P4

D.P3, P4, P2, P1, P0P0

【答案】D 。

【解析】典型的死锁避免算法、银行家算法的应用。分析一下下表, 可以看到, P3, P4, P2, P1, P0运行是可以的。

本题也可以排除法, 时刻可用资源是R1, R2, R3分别为2, 3, 3, 此时刻, P0需要R1, R2, R3分别为2, 3, 7, 故排除A , P1需要R1, R2, R3分别为1, 3, 3, P2还需要资源R1, R2, R3分别为0, 0, 6, 故C 排除, P3需要R1, R2, R3分别为2, 2, 1。所以正确答案在B , D 之间。

看B 选项, P1之后的可用资源R1, R2, R3分别变为6, 3, 6, 而P0尚需资源2, 3, 7, 故B 方案行不通。因而最终答案只有D 项。

3. 循环两列放在一维数组中, 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后是否等于头指针, 若相等, 则队满。而队空的条件还是首尾指针是否相等。

4. 站点A 、B 、C 通过CDMA 共享链路, A 、B 、C 的码片序列(chippingsequence)分别是(1, 1, 1, 1) 、(1, -1, 1, -1) 和(1, 1, -1, -1) , 若C 从链路上收到的序列是(2, 0, 2, 0, 0, -2, 0, -2, 0, 2, 0, 2) , 则C 收到A 发送的数据是( )

A.000

B.101

C.110

D.111

【答案】B

【解析】用A 的码片与信息做内积运算

5. 进程P0和P1的共享变量定义及若进程P0和P1访问临界资源的类C 伪代码实现如下:

队满:

则并发执行进程P0和PI 时产生的情况是( ).

A. 不能保证进程互斥进入临界区,会出现“饥饿”现象

B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象

C. 能保证进程互斥进入临界区,会出现“饥饿”现象

D. 能保证进程互斥进入临界区,不会出现“饥饿”现象

【答案】D

【解析】这是皮特森算法(Peterson‟SAlgorithm)的实现,保证进入临界区的进程合理安全. 该算法为了防止两个进程为进入临界区而无限期等待,设置变量tum ,表示不允许进入临界区的编号,每个进程在先设置自己标志后再设置turn 标志,不允许另一个进程进入,这时,再同时检测另一个进程状态标志和不允许进入标志,这样可以保证当两个进程同时要求进入临界区时只允许一个进程进入临界区. 保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入. 先到先人,后到等待,从而完成临界区访问的要求.

6. 某基于动态分区存储管理的计算机,,其主存容量为55MB(初始为空闲)采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB 、分配30MB 、释放15MB 、分配8MB 、分配6MB ,此时主存中最大空闲分,区的大小是( ).

A.7MB

B.9MB

C.10MB

D.15MB

【答案】B

【解析】对于简单分区内存分配,需要将进程的所有代码和数据装入内存. 故55MB 先分配15MB 余40MB ,再分配30MB 后余10MB ,释放15MB 后出现一个15MB 和一个10MB 的空闲空间,分配8MB 时按最佳适配(BestFit)算法应该使用10MB 的空闲块,余2MB 的碎片,分配6MB 时占用15MB 的空间余9MB 的碎片(空闲空间),因此最大空闲区为9MB.