2017年郑州轻工业学院数据结构复试实战预测五套卷
● 摘要
一、应用题
1. 某文件系统空间的最大容量为4TB 以磁盘块为基本分配单位,磁盘块大小为1KB 。文件控制块(FCB )包含一个512B 的索引表区。请回答下列问题。
(1)假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号。索引表项中块号最少占多少字节? 可支持的单个文件最大长度是多少字节?
(2)假设索引表区采用如下结构:第0〜7字节采用<起始块号,块数>格式表示文件创建时预分配的连续存储空间,其中起始块号占6B ,块数占2B ; 剩余504字节采用直接索引结构,一个索引项占6B ,则可支持的单个文件最大长度是多少字节? 为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理 值并说明理由。
【答案】
(1)文件系统存储空间共有块数可存放
(2) 为表示个块号,索引表项占512B 个索引项,每个索引项对应一个磁盘块,故最大文件长度:块号占6字节,块数占2字节的情形下,最大文件长度
:
理由:合理的起始块号和块数所占字节数分别为
块数占4B 或以上,就可表示4TB 大小的文件长度,达到文件系统的空间上限。
2. 设散列表为,现采用双散列法解决冲突。散列函数和再哈希函即表的大小为
数分别为
:
注:%是求余数运算
中,函数
码序列为
(2)计算搜索成功的平均搜索长度表示颠倒十进制数x 的各位,如 其等。若插入的关键
(1)试画出插入这8个关键码后的哈希表;
【答案】(1)插入这8个关键码后的哈希表如表所示:
表 插入关键字后的哈希表
(2)
3. 设G=(V , E)以邻接表存储,如图所示,试画出图1的深度优先生成树和广度优先生成树。
图1
【答案】设从顶点1开始遍历,则深度优先生成树如图2所示,广度优先生成树如图3所示:
图2 图3
4.
设与记录
对应的关键字分别是
进行交换。
之前全部记录(其的关键字一定如果存在
和
使得
且成立,试证明经过一趟起泡后,一定有记录与值。由题假设知中包括在之前且则即说明和【答案】起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到极是反序;设对于)中关键字最大为,故经过起泡排序前i-2次比较后,
为又因故和Rf 为反序,由此可知和必定交换,证毕。
5. 试叙述动态存储分配伙伴系统的基本思想,它和边界标识法不同点是什么?
【答案】(1)动态存储分配伙伴系统的基本思想
在伙伴系统中,无论占用块或空闲块,其大小均为(k 为大于等于0的正整数)。若内存容
量为
则空闲块大小只能是由同一大块分裂而得的两个小块互称“伙伴空
(若)
,
如内存大小为
间”
或的块分裂成两个大小为的块。只有两个“伙伴空间”才能合并成一个大(若
(2)和边界标识法的不同
边界标识法在每块的首尾均有“占用”/“空闲”标志,空闲块合并方便。伙伴系统算法简单、速度快,但只有互为伙伴的两个空闲块才可合并,因而易产生虽空闲但不能归并的碎片。
6. (1)对于有向无环图,叙述求拓扑有序序列的步骤;
(2)对于图1,写出它的四个不同的拓扑有序序列。 )。 空间。起始地址为P ,
大小为的内存块,其伙伴的起始地址为:
图1
【答案】(1)对有向图,求拓扑序列步骤为:
1)在有向图中选一个没有前驱(即入度为0)的顶点并输出。
2)在图中删除该顶点及所有以它为尾的弧。
3)重复1)和2), 直至全部顶点输出,这时拓扑排序完成;否则,图中存在环,拓扑排序失败。
(2)拓扑有序序列如图2:
图2 拓扑有序序列
7. 我们知道,对于n 个元素组成的线性表进行快速排序时,所需进行的比较次数与这n 个元素的初始排序有关。问:
(1)当n=7时,在最好情况下需进行多少次比较? 请说明理由。
(2)当n=7时,给出一个最好情况的初始排序的实例。
(3)当n=7时,在最坏情况下需进行多少次比较? 请说明理由。
(4)当n=7时,给出一个最坏情况的初始排序的实例。
【答案】(1)在最好情况下,每次划分能得到两个长度相等的子文件。假设文件的长度那么第一趟划分得到两个长度均为
以此类推,
总共进行的子文件,第二趟划分得到4个长度均为的子文件,趟划分,各子文件的长度均为1,排序完毕。当n=7时,k=3,在最好情况下,第一趟需比较6次,第二趟分别对两个子文件(长度均为3,k=2)进行排序,各