山东科技大学数据结构与操作系统考研真题2017—2019年
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
间和所需的CPU服务时间分别如下所示,忽略I/O 以及其他开销时间。
进程 P1 P2
到达时间 0.0 0.2
CPU 服务时间 6 3
P3
1.1
1
分别对问题(1)和(2)进行计算:
wenku.baidu.com
(1)分别采用先到先服务(FCFS)调度算法和非抢占式最短作业优先
(SJF)调度算法时,这些进程的平均周转时间是多少?(6 分)
5.操作系统为文件分配外存空间时可以采用多种分配方法,简述索引
分配和链接分配方法的思想和特点。
6.简述计算机操作系统的主要功能,并对每项功能进行说明。
五、应用题(共 30 分)
1.有一个 10 页的进程 P,操作系统根据其内存块(帧)分配策略,为
该进程分配了 5 个物理块(帧),其页表如下所示,页的大小为 4KB,
(2)如果在第一个时间单元(也就是到达时间为 1.0)期间,CPU 被
设置为空闲,该方法产生的进程调度序列和平均周转时间分别是什
么?(4 分)
3.系统中有 4 个进程P1、P2、P3、P4互斥使用一个包含 1 个单元的缓 冲区。P1 每次产生一个正数并送入缓冲区;P2 每次产生一个负数并 送入缓冲区;P3 每次从该缓冲区中取出一个正数并计数;P4 每次从 该缓冲区中取出一个负数并计数。请用信号量机制实现这四个进程的
二、综合应用题(40 分,每题 10 分) 1、假设用于通信的电文共有 8 个字母 A,B,C,D,E,F,G,H 组成,字 母在电文中出现的频率分别是{0.2,0.04,0.06,0.02,0.12, 0.24,0.25,0.07}。 ①试为这 8 个字符设计哈夫曼编码; ②试设计另一种由二进制表示的等长编码方案;
《数据结构》部分
一、简答题(30 分,每题 5 分) 1、《数据结构》这门课程重点研究“数据”还是“结构”?请简 单解释你的理由。 2、线性表的顺序存储结构叫顺序表,线性表的链式存储结构叫链 表,请简述你对“顺序表顺序存储、随机读取;链表随机存储、 顺序读取”这句话的理解。 3、数据结构中你熟悉的哪些数据类型是递归定义的?请给出一种 递归数据类型的定义,并做简单解释。 4、栈和队列与普通线性表相比有何异同?简述队列顺序存储实现 的技巧。 5、基于关键字比较的排序算法所能达到最优时间复杂度是?能否 设计一种不需要关键字间比较的排序算法?请给出基本思路。 6、简述 KMP 算法是如何提高字符串的模式匹配效率的。
①画出该图;
16 06 1 10 28^ 05 4 12 ^
45^ 2 10 38
17
47^ 4 11 ^
2 11
5 12 ^
②给出从顶点 A 开始的深度优先遍历序列;
③给出从顶点 A 开始的广度优先遍历序列;
④给出图的一种最小生成树。
③对于上述实例,比较两种方案的优缺点。
2、试找出满足下列条件的二叉树:
①先序序列与后序序列相同;
②中序序列与后序序列相同;
③先序序列与中序序列相同;
④中序序列与层次遍历序列相同。
3、已知图的邻接表结构为(其中边节点数据域分别为:邻接点编
号、边的权值、指向下一条关联边的指针):
0A 1B 2C 3D 4E 5F
①请画出该图; ②给出从顶点 3 开始的深度优先遍历序列; ③给出从顶点 4 开始的广度优先遍历序列。 3、假设有一个 10000*10000 的稀疏矩阵,期中 1%的元素为非零元 素,要求构造一个哈希表,完成以下任务。 ①设计哈希函数(根据给定非零元素的行值和列值确定其在哈
希表的位置); ②给出处理冲突的方法; ③简要分析该哈希表的查找效率。 4、设待排序的关键字序列为{13,7,16,45,36,27,17,6, 12,56},试分别完成以下任务: ①建小顶堆; ②给出以 13 为枢轴进行一趟快速排序的过程。 三、算法设计题(20 分,每题 10 分) 1、已知链表 A 和 B 分别表示元素递增的两个集合,试写一算法求 两个集合的交集,结果存放于链表 A 中。 2、已知二叉排序树采用二叉链表存储,试写一高效算法从小到大 输出二叉排序树中所有值小于 X 的结点的数据。
二、综合应用题(40 分,每题 10 分) 1、已知二叉树的中序遍历序列为 DBFEAGCH,后序遍历序列为 DFEBGHCA。 ①请画出该二叉树; ②将其先序线索化; ③将该二叉树转换成对应的树或森林。 2、已知图的邻接矩阵为:
012345 0 000000 1 001000 2 000000 3 001010 4 010001 5 110000
操作系统部分
四、基础题(每小题 5 分,共 30 分)
1.什么是进程?一般情况下,进程由哪三大部分组成?
2.在操作系统中,什么是系统抖动(颠簸)?从哪些方面可以处理系
统抖动问题?
3.缓冲技术是操作系统中的一种重要技术,说明缓冲技术的特点和常
用的缓冲类型。
4.列举三种磁盘调度算法,并简要说明每种算法的基本思想。
请计算逻辑地址为 0x17C8 和 0x6E37 的物理地址。(8 分)
页 号
块号
装入内存 时刻
上次引用(访问)该页面
时刻
R(读)
M(修 改)
07
10:05
11:33
1
0
34
9:35
10:20
1
0
12
9:36
10:40
1
1
59
9:55
10:15
1
1
8 11
10:01
10:50
0
0
2.假设一个系统中有 3 个进程P1,P2,P3,它们的到达就绪队列的时
同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
(12 分)
《数据结构》部分
一、简答题(30 分,每题 5 分) 1、串、数组、广义表从元素间关系上可以看成线性结构,它们与 一般意义上的线性表相比有何特殊性? 2、借助栈可以实现更复杂的操作,请简述如何利用栈实现对表达 式中括号是否匹配的检验。 3、基于关键字比较的查找算法所能达到最优时间复杂度是?能否 设计一种与问题规模无关的查找算法?请给出基本思路。 4、图的广度优先遍历与树的何种遍历策略相似?请给出简单解释。 5、《数据结构》中经常采用“树形化组织”的方式来整理数据, 比如折半查找表、二叉排序树、大顶堆/小顶堆等,请简述这样 做的优点。 6、何为稳定的排序方法?何为不稳定的排序方法?哪些排序算法 是不稳定的?