2017年浙江海洋学院数据结构考研复试核心题库
● 摘要
一、应用题
1. 在堆排序、快速排序和合并排序中:
(1)若只从存储空间考虑,则应首先选取哪种排序方法,其次选取哪种排序方法,最后选取哪种排序方法?
(2)若只从排序结果的稳定性考虑,则应选取哪种排序方法?
(3)若只从平均情况下排序最快考虑,则应选取哪种排序方法?
(4)若只从最坏情况下排序最快并且要节省内存考虑,则应选取哪种排序方法?
【答案】(1)应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法。 (2)应选取归并排序方法
(3)应选取快速排序方法
(4)应选取堆排序方法
2. 设
中。
(1)将上述关键字(标识符)构造一个哈希函数,使得发生冲突尽可能地少;
(2)线性探测再散列法解决冲突。写出上述各关键字在表中位置。
【答案】(1)构造的哈希函数为:哈希函数(2)关键字在表中的位置如表所示:
表 关键字在表中的位置
3. 请求分页管理系统中,假设某进程的页表内容如下表所示:
(关键字各字符编码之和) 五个字符的编码分别为1,2,3,4,5,并设标识符依以下次序出现
:要求用哈希(Hash )方法将它们存入具有10个位置的表
页面大小为4KB ,一次内存的访问时间是100ns ,一次快表(TLB )的访问时间是10ns ,处
,进程的驻留集大小固定为2, 采理一次缺页的平均时间为108ns (已含更新TLB 和页表的时间)
用最近最少使用置换算法(LRU )和局部淘汰策略。假设①TLB 初始为空;②地址转换时先访问
TLB , 若TLB 未命中,再访问页表(忽略访问页表之后的TLB 更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列请问:
(1)依次访问上述三个虚地址,各需多少时间? 给出计算过程。
(2)基于上述访问序列,虚地址1565H 的物理地址是多少? 请说明理由。
【答案】⑴
页面大小为4KB ,因此,虚地址的低12位是页内偏移,其余高位是页号。
访问虚地址2362H , 虚页号为2,页内偏移362H 。查找TLB , TLB 初始为空,未命中,耗时10ns ; 访问页表,2号页面所在页框号为254H ,耗时100ns ; 计算得到的物理地址254362H ,访问内存,耗时100ns 。因此,总共用时
访问虚地址1565H ,虚页号为1, 页内偏移565H 。查找TLB ,未命中,耗时10ns ; 访问页表,有效位是0,未命中,耗时100m ; 产生缺页中断,进行缺页中断处理,耗时108m ; 采用LRU 置换算法,虚页1装入页帧号101H , 缺页中断处理完后,再次访问页表,命中,耗时100m ; 计算得到物理地址101565H ,再次访问内存,耗时100ns 。因此,总共用时
访问虚地址25A5H ,虚页号为2, 页内偏移5A5H 。查找TLB , 命中,耗时10ns ; 虚页2对应的页帧为254H ,因此计算得物理地址为2545A5H , 访问内存,耗时100ns 。因此,
总共用时
(2)当访问虚地址1565H 时,产生缺页中断,合法驻留集为2, 必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H 的对应的页框号为101H ,故可知虚地址1565H 的物理地址为101565H 。
4. 如果只要找出一个具有n 个元素的集合的第
种最适合? 给出实现的思想。
【答案】在具有n 个元素的集合中找第个最小元素,应使用快速排序方法。其基本思想如下:设n 个元素的集合用一维数组表示,其第一个元素的下标为1,最后一个元素下标为n 。以第一个元素为“枢轴”,经过快速排序的一次划分,找到“枢轴”的位置i ,若i=k,则该位置的元素即为所求;若则在1至i-1间继续进行快速排序的划分;若则在i+1至n 间继续进
个最小元行快速排序的划分。这种划分一直进行到i=k为止,第i 位置上的元素就是第
素。
5. 一个ISAM 文件除了主索引外,还包括哪两级索引?
【答案】ISAM 文件有三级索引:磁盘组、柱面和磁盘,柱面索引存放在某个柱面上,若柱面索引较大,占多个磁道时,可建立柱面索引的索引一主索引。故还包括的两级索引是盘组和磁道。
个最小元素,你所学过的排序方法中哪
6. 数据类型和抽象数据类型是如何定义的? 二者有何相同和不同之处? 抽象数据类型的主要特点是什么? 使用抽象数据类型的主要好处是什么?
【答案】(1)数据类型的定义
数据类型是程序设计语言中的一个概念,它是一个值的集合和操作的集合。如c 语言中的整
,其操作有加、减、乘、除、型、实型、字符型等。整型值的范围(对具体机器都应有整数范围)
求余等。实际上数据类型是厂家提供给用户的已实现了的数据结构。
(2)抽象数据类型的定义
“抽象数据类型(ADT )”指一个数学模型及定义在该模型上的一组操作。“抽象”的意义在于数据类型的数学抽象特性。抽象数据类型的定义仅取决于它的逻辑特性,而与其在计算机内部
如何表示和实现无关。无论其内部结构如何变化,只要它的数学特性不变就不影响它的外部使用。
(3)两者的不同
抽象数据类型和数据类型实质上是一个概念。此外,抽象数据类型的范围更广,它已不再局限于机器已定义和实现的数据类型,还包括用户在设计软件系统时自行定义的数据类型。
(4)抽象数据类型的主要特点
,而是向“科学”迈进了一步。 抽象数据类型的出现使程序设计不再是“艺术”
(5)使用抽象数据类型的好处
使用抽象数据类型定义的软件模块含定义、表示和实现三部分,封装在一起,对用户透明(提
,而不必了解实现细节。 供接口)
7. 索引顺序存取方法(ISAM )中,主文件已按关键字排序,为何还需要主关键字索引?
【答案】ISAM 是专为磁盘存取设计的文件组织方式。即使主文件关键字有序,但因磁盘是以盘组、柱面和磁道(盘面)三级地址存取的设备,因此通常对磁盘上的数据文件建立盘组、柱面和磁道(盘面)三级索引。在ISAM 文件上检索记录时,先从主索引(柱面索引的索引)找到相应柱面索引。再从柱面索引找到记录所在柱面的磁道索引,最后从磁道索引找到记录所在磁道的第一个记录的位置,由此出发在该磁道上进行顺序查找直到查到为止;反之,若找遍该磁道而未找到所查记录,则文件中无此记录。
8. KMP 算法(字符串匹配算法)较Brute (朴素的字符串匹配)算法有哪些改进?
【答案】朴素的模式匹配度达到
时,KMP 算法的优点更为突出。
时间复杂度是KMP 算法有一定改进,时间复杂
主要优点是主串指针不回溯。当主串很大不能一次读入内存且经常发生部分匹配
二、算法设计题
9. 令G=(V , E)为一个有向无环图,编写一个给图G 中每一个顶点赋以一个整数序号的算法,并满足以下 条件:若从顶点i 至顶点j 有一条弧,则应使i 【答案】算法如下:
相关内容
相关标签