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

2018年北京师范大学政府管理学院986软件基础数据结构考研强化五套模拟题

  摘要

一、应用题

1. 假定有下列,nxn 矩阵(n为奇数

)

如果用一维数组B 按行主次序存储A 的非零元素,问: (1)A中非零元素的行下标与列下标的关系; (2)给出A 中非零元素在B 中的位置公式。

(1)主对角线上元素的坐标是i =j ,【答案】副对角线上元素的坐标i 和j 有i +j =n +l 的关系,所以A 中非零元素的行下标和列下标的关系是i =j

余每行都有两个元素。主对角线上的元素,在向量B 中存储的下标是

副对角线上的元素,在中心元素前,在向量B 中存储的下标

(3)

在中心元素后,其下标如下:

在B 中的位置如下:

(2)非零元素分布在两条主、副对角线上,除对角线相交处一个元素(下称“中心元素”)外,其

的下标(i,j) 与B 中的下标R 的关系;

,给出利用

的下标(i,j) 定位

(3)假定矩阵中每个元素占一个存储单元且B 的起始地址为

2. 假设Internet 的两个自治系统构成网络如下图所示, 自治系统ASI 由路由器R1连接两个子网构成; 自治系统AS2由路由器R2、R3互联并连接3个子网构成。各子网地址、R2的接口名、R1与R3的部分接口IP 地址如下图所示。请回答下列问题。

图 网络拓扑结构

(1)假设路由表结构如下所示。请利用路由聚合技术, 给出R2的路由表, 要求包括到达上图中所有子网的路由, 且路由表中的路由项尽可能少。

(2)若R2收到一个目的IP 地址为行传输?

【答案】(1)在AS1中, 子网AS2中, 子

; 子网

和子

和子网

可以聚合为子网

可以聚合为子

, 在, 但缺

的IP 分组, R2会通过哪个接口转发该IP 分组?

(3)R1与R2之间利用哪个路由协议交换信息?该路由协议的报文被封装到哪个议的分组中进

单独连接到R2的接口E0。

于是可以得到R2的路由表如下:

(2)该IP 分组的目的IP 地址与路由表中和两个路由

表项均匹配, 根据最长匹配原则, R2将通过E0接口转发该1P 分组。

(3)R1与R2之间利用BGP4(或BGP) 交换路由信息; BGP4的报文被封装到TCP 协议段中进行传输。

3. 给出模式串

在KMP 算法中的next 和nextval 数组。

【答案】模式串的next 函数定义如下:

根据此定义,

可求解模式串

的next 和nextval 值如下:

4. 系统中有多个生产者进程和消费者进程, 共享用一个可以存1000个产品的缓冲区(初始为空) , 当缓冲区为未满时, 生产者进程可以放入一件其生产的产品, 否则等待; 当缓冲区为未空时, 消费者进程可以取走一件产品, 否则等待。要求一个消费者进程从缓冲区连续取出10件产品后, 其他消费者进程才可以取产品, 请用信号量P , V(wait, signed) 操作实现进程间的互斥和同步, 要求写出完整的过程; 并指出所用信号量的含义和初值

【答案】设置5个信号量

empty :表示缓冲区是否为空, 初值为1000 full :表示缓冲区是否为满, 初值为0 mutex1:生产者之间的互斥信号, 初值为1 mutex2:消费者之间的互斥信号, 初值为1 available :当前消费者能否访问缓冲区, 初值为1

定义变量in , out 分别为生产者和消费者进程所要使用的指针, 指向下一个可用的缓冲区单元, MaxNum=1000为缓冲区的大小, count 标志当前消费者已经取的产品的数量, 初值为0

生产者进程:

生产一个产品;

产品送入buffer(in);

消费者进程