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

2017年西安电子科技大学9104高级语言程序设计之数据结构(C语言版)考研复试核心题库

  摘要

一、应用题

1. 某计算机主存按字节编址,逻辑地址和物理地址都是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个页

2. 为什么在倒排文件组织中,实际记录中的关键字域可删除以节约空间? 而在多重表结构中这样做为什么要牺牲性能?

【答案】因倒排文件组织中,倒排表有关键字值及同一关键字值的记录的所有物理记录号,可方便地查询具有同一关键字值的所有记录;而多重表文件中次关键字索引结构不同,删除关键字域后查询性能受到影响。

3. 在多关键字排序时,LSD 和MSD 两种方法的特点是什么?

【答案】(1)最高位优先(MSD )法

先对最高位关键字进行排序,将序列分成若干子序列,

每个子序列中的记录都具有相同的值,然后,分别就每个子序列对关键字列。

(2)最低位优先先对最低位关键字位关键字

序列参加排序,

但对

进行排序,然后对高一级关键字

进行排序,依次重复,直至对最高

进行排序,按值不同再分成若干更小的子序列,依

次重复,直至最后对最低位关键字排序完成,将所有子序列依次连接在一起,成为一个有序子序

排序后便成为一个有序序列。进行排序时,不必分成子序列,对每个关键字都是整个

排序时,只能用稳定的排序方法。另一方面,按LSD 进行排序

时,可以不通过关键字比较实现排序,而是通过若干次“分配”和“收集”来实现排序。 4. 三个进程P1、P2, P3互斥使用一个包含N P1每次用produce (N >0)个单元的缓冲区。( )生成一个正整数并用put ( )送入缓冲区某一空单元中;P2每次用getodd ( )从该缓冲区中取出一个奇数并用countodd ( )统计奇数个数;P3每次用geteven ( )从该缓冲区中取出一个偶数并用counteven ( )统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。

【答案】定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;empty 控制生产者与消费者之间的同步;mutex 控制进程间互斥使用缓冲区,程序如下:

阶稀疏矩阵A 有t 个非零元素,其三元组表示为

表示A 才有意义? 的

个存储单元,用二维数组存储时占用

个单元,

只有当试问:非零元

5. 设

素的个数t 达到什么程度时用,共占用三元组表

元组)

时,用

【答案】稀疏矩阵A 有t 个非零元素,加上行数mu 、列数皿和非零元素个数tu (也算一个三

表示A 才有意义。解不等式得

6. 下图是5阶B 树,画出删去P 后的B 树,再画出删去D 后的B 树。

【答案】删除P 后