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

2017年浙江工商大学程序设计(同等学力加试)之数据结构复试实战预测五套卷

  摘要

一、应用题

1. 证明若二叉排序树中的一个结点存在两个孩子,则它的中序后继结点没有左孩子,则它的中序前驱结点没有右孩子。

【答案】根据中序遍历的定义,该结点的中序后继是其右子树上按中序遍历的第一个结点:叶结点或仅有右子树的结点;而其中序前驱是其左子树上按中序遍历的最后个结点:叶结点或仅有左子树的结点。命题得证。 2. 假定某计算机的CPU 主频为80MHz , CPI为4, 并且平均每条指令访存1.5次,主存与Cache 之间交换的块大小为168, Cache的命中率为

存储器总线宽度为32位。请回答下列问题。

(1)该计算机的MIPS 数是多少? 平均每秒Cache 缺失的次数是多少? 在不考虑DMA 传送的情况下,主存带宽至少达到多少才能满足CPU 的访存要求?

(2)假定在Cache 缺失的情况下访问主存时,存在期挪用方式,磁盘

接口的数据缓冲寄存器为32位,则磁盘

的缺页率,则CPU 平均每秒产

接口平均每秒发出的DMA

生多少次缺页异常? 若页面大小为4KB ,每次缺页都需要访问磁盘,访问磁盘时DMA 传送采用周请求次数至少是多少?

(3)CPU 和DMA 控制器同时要求使用存储器总线时,哪个优先级更高? 为什么? (4)为了提高性能,主存采用4体交叉存储模式,工作时每每个体的存储周期为50ns ,则该主存能提供的最大带宽是多少?

【答案】

(1)平均每秒CPU 执行的指令数为:平均每秒Cache 缺失的次数为:为

足CPU 的访存要求。

(2)平均每秒钟“缺页”异常次数为:故平均每秒磁盘DMA 请求的次数至少为:请求得不到及时响应,

传输数据可能会丢失。

因为存储器总线宽度为32位,所以,每传送32位数据,磁盘控制器发出一次DMA 请求,CPU 和DMA 控制器同时要求使用存储器总线时,DMA 请求优先级更高;因为若DMA (3)

(4)4体交叉存储模式能提供的最大带宽为:

故MIPS 数为20; =300000;

才能满

个存储周期启动一个体。若

当Cache 缺失时,CPU 访问主存,主存与Cache 之间以块为单位传送数据,此时,主存带宽

在不考虑DMA 传输的情况下,主存带宽至少达到

3. 简述广义表属于线性结构的理由。

【答案】广义表中的元素,可以是原子,也可以是子表,即广义表是原子或子表的有限序列,满足线性结构的特性:在非空线性结构中,只有一个称为“第一个”的元素,只有一个称为“最后一个”的元素,第一元素有后继而没有前驱,最后一个元素有前驱而没有后继,其余每个元素有唯一前驱和唯一后继。从这个意义上说,广义表属于线性结构。

4. 某16位计算机中,带符号整数用补码表示,数据Cache 和指令Cache 分离。题表给出了指令系统中部分指令格式,其中Rs 和Rd 表示寄存器,mem 表示存储单元地址,(X )表示寄存器X 或存储单元X 的内容。

表 指令系统中部分指令格式

该计算机采用5段流水方式执行指令,各流水段分别是取指(IF )、译码/读寄存器(ID )、执行/计算有效地址(EX )、访问存储器(M )和结果写回寄存器(WB ), 流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一个寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。

(1)若int 型变量x 的值为-513, 存放在寄存器R1中,则执行指令“SHR R1”后,R1的内容是多少?(用十六进制表示)

(2)若某个时间段中,有连续的4条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这4条指令所需的时钟周期数为多少?

(3)若高级语言程序中某赋值语句为址分别表示为

和b 均为int 型变量,它们的存储单元地

该语句对应的指令序列及其在指令流水线中的执行过程如题图所示。

则这4条指令执行过程中,的ID 段和的IF 段被阻塞的原因各是什么?

图 指令序列及其执行过程示意图

(4)若高级语言程序中某赋值语句为储单元地址分别表示为

【答案】 (1)x 的机器码为1110 1111 1111B, 即指令执行后

(2)至少需要

x 和a 均为unsigned int 类型变量,它们的存

则执行这条语句至少需要多少个时钟周期? 要求模仿题图画出这

条语句对应的指令序列及其在流水线中的执行过程示意图。

即指令执行前(Rl ) =FDFFH, 右移lwei 后为1111

个时钟周期数。

(3)的ID 段被阻塞的原因:因为

与和都存在数据相关,需等到和将结果写回寄存器后,才能读寄存器内容,所以的ID 段被阻塞。

的IF 段被阻塞的原因:因为14的前一条指令在ID 段被阻塞,所以,的IF 段被阻塞。(4)

对应的指令序列为:

这5条指令在流水线中的执行过程如下图所示,执行

语句最少需要17个时钟周期。

5. 对于具有n 个叶结点且所有非叶结点都有左、右孩子的二叉树。

(1)试问这种二叉树的结点总数是多少? (2)试证明

。其中:表示第i 个叶结点所在的层号(设根结点所在层号为1)。

【答案】(1)根据二叉树中度为2的结点个数等于叶结点个数减1的性质,故具有n 个叶结点且非叶子结点均有左子树的二叉树的结点数是2n-l 。

(2)证明:当i=l时,成立。

设某叶结点的层号为t ,当将该结点变为内部结点,从而再增加两个叶结点时,这两个叶结点的层号都是t+1, 对于公式的变化,是减少了一个原来的叶结点,増加了两个新叶结点,反映到公式中. 因为

6. 设目标为

,所以结果不变,这就证明当i=n时公式仍成立。证毕。

模式为

, 公式成立。设当i=n-1时公式成立,证明当i=n时公式仍

(1)计算模式p 的nextval 函数值;