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

2017年兰州大学数据结构复试实战预测五套卷

  摘要

一、应用题

1. 对下面的关键字集

若查找表的装填因子为0.8,采用线性探

测再哈希方法解决冲突,做:(1)设计哈希函数;(2)画出哈希表;(3)计算查找成功和查找失败的平均查找长度;(4)写出将哈希表中某个数据元素删除的算法。

【答案】(1)由于装填因子为0.8,关键字有8个,所以表长为哈希函数,哈希函数为

(2)哈希表如表所示:

表 哈希表

(3)计算查找失败时的平均查找长度,必须计算不在表中的关键字,

当其哈希地址为

时的查找次数。本例中

(4)算法如下:

2. 设有n 个元素采用起泡排序法进行排序,通常需要进行多少趟排序? 对于第J 趟起泡通常需要进行多少次关键字比较? 在程序设计中如何设置判断条件,有可能使起泡趟数可以减少并且能完成排序。

【答案】n 个元素采用起泡排序法进行排序,通常需要进行n-1趟排序。第j 趟起泡排序要进行

次比较。在一趟排序中,若没有记录交换,则表示排序完成。因而,可通过设标记来控制排

第 2 页,共 40 页

用除留余数法设计

故查找失败和查找成功时的平均查找长度分别为:

序结束,下面语句段说明了标记flag 的使用。

3. 某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。

(1)若使用一级页表的分存储管理方式,逻辑地址结构为:

则页的大小是多少字节?页表最大占用多少字节?

(2)若使用二级页表的分存储管理方式,逻辑地址结构为:

设逻辑地址为LA ,请分别给出其对应的页目录号和表索引达式。

(3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为00008000H ,其长度为8KB ,被装载到从物理地址00900000H 开始的连续主存空间中。页表从主存0020 0000H 0020 0000H 开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项物理地址、这中框号以及计算出该代码段对应的两个页表项物理地址、这中框号以及计算出该代码段对应的两个页表项物理地址、这两个页表项中的框号以及代码页面2的起始物理地址。

【答案】

(1)因为页内偏移量是12位所以页大小为4KB 页表项数为页表索引可表示为:

表项,所以第8个页表项的物理地址=页表起始地

如下图所示。 该一级页表最大为

页表项的字节

(2)页目录号可表示为:

(3)代码页面1的逻辑地址为0000 8000H, 表明其位于第8个页处,对应页表中的第8个页

第 3 页,共 40 页

4. 设中。

五个字符的编码分别为1,2,3,4,5,并设标识符依以下次序出现

要求用哈希(Hash )方法将它们存入具有10个位置的表

(1)将上述关键字(标识符)构造一个哈希函数,使得发生冲突尽可能地少; (2)线性探测再散列法解决冲突。写出上述各关键字在表中位置。 【答案】(1)构造的哈希函数为:哈希函数(2)关键字在表中的位置如表所示:

表 关键字在表中的位置

5. 某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 页,共 40 页