南京航空航天大学
2015年硕士研究生入学考试初试试题
A 卷
科目代码: 922
科目名称:
数据结构与操作系统(专业学位)
满分: 150
注意: ①认真阅读答题纸上的注意事项;②所有答案必须写在答题纸上,写在本试题纸或草稿纸上均无
效;③本试题纸须随答题纸一起装入试题袋中交回!
数据结构部分(75分)
1.(5分)已知一棵完全二叉树共有999个结点,试求以下问题,并给出求解过程。    (1) 树的高度      (2) 叶子结点数
2.(10分)应用栈操作求解算术表达式:(28+10*2)/(11-5),画出栈的变化过程。 3.(10分)已知带权图如下所示,用Prim 算法从顶点2开始产生最小生成树,说明算法思想,并给出求解所需的数据结构和每一步执行过程的相关数据变化。
4.(10分)已知输入数据序列为 (68, 40, 25, 21, 33, 12, 58, 51, 16,36),给出建立3阶B-树示意图,再给出删除51,16后的B-树。
5.(10分))解释希尔排序的算法思想。对以下的数据序列,给出希尔排序过程的示意图。(46,8,36,50,6,24,18,78,12,10)
6.(10分)设一个带头结点的单链表L,数据元素为整数,编写函数,通过调整该链表的结点指针,对该链表进行简单选择排序(元素值从小到大)。先给出算法思想,再写相应代码。
7.(10分)设二叉树T,用二叉链表结构存储。编写函数,输出最长一枝(根到叶子)上的所有结点值。要求先给出算法思想,再写出相应代码。
8.(10分)基于图的广度优先搜索策略,编写函数,判别以邻接表存储的有向图G 中,是否存在由顶
点Vi 到顶点Vj 的路径(i≠j)。要求先给出算法思想,再写出相应代码。
V4
V2V6
V3
V5
V1    2 1
5
4
5
8    3
6
6
4
操作系统部分(75分)
1.(30分)文件系统是操作系统的主要功能之一,请设计一个文件系统,需给出以下信息:(1)给出描述文件的数据结构(即文件控制块)和目录结构;(5分)
(2)以索引节点为文件系统的物理文件组织结构,图示索引节点结构,说明其优点;(5分)
(3)以线性检索法作为此文件系统的文件检索方法,以实例方式给出检索一个文件的过程(例如查/usr/ast/mbox);(10分)
南京有什么大学
(4)为该文件系统设计几个必要的系统调用,选其中一个为例,详细说明实现该系统调用的方法和过程(注意要使用以上设计中的数据结构)。(10分)
2.(10分)某机场只有一条飞机跑道,为了提高效率和安全性,现规定:当飞机跑道有飞机起飞时,不允许飞机降落,但此时可以让多架飞机逐个利用跑道起飞;反之,当有飞机降落进入跑道时则不允许起飞飞机进入跑道,但允许飞机依次降落在跑道上,然后驶出跑道。请解决以下问题:(1)请利用信
号量和P、V操作正确实现飞机在跑道上起降。(要求:说明所设的信号量的意义及初值);(2)若把飞机看作进程,为了合理实现对飞机进程的管理,给出描述飞机进程的数据结构。
3. (9分) 某段式存储管理系统中采用如下段表:(用十进制)
段号 段的长度(字节)主存起始地址
0 500 150
1 180 800
2 600 1000
3 1680 1850
试回答:
(1)给定段号和段内地址,图示说明完成段式管理中的地址变换过程。(3分)
(2)计算[0,150],[1,98],[2,601],[3,50]的内存地址,其中方号内的第一元素为段号,第二元素为段内地址。(3分)
(3)存取主存中的一条指令或数据至少要访问几次内存?如何提高速度?(3分)
4.(8分)LRU 算法的思想和依据是什么?请利用LRU 算法解决下列问题:在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,此作业的页面走向为3, 4,3, 3, 8,3, 6, 8, 4, 3, 8, 3。试用LRU 算法计算页面置换次数。
5(5分)扫描算法(SCAN)是一种磁盘调度算法,它的优化目标是什么?设磁盘的I/O 请求队列中的柱面号依次为:35, 58, 40, 28, 80, 160, 143, 38, 204,磁头初始位置为95,若采用SCAN(先由小到大开始扫描)磁盘调度算法,磁头移动多少个磁道。
6.(5分)按照下图说明操作系统中引入缓冲的好处
7.(8分)假设系统有五类独占资源:r1,r2,r3,r4,r5,各类资源分别有:2,2,2,1,1个单位的资源,有五个进程:P1,P2,P3,P4,P5,其中P1已占有2个单位的r1,且申请一个单位的r2和一个单位的r4;P2已占有一个单位的r2,且申请一个单位的r1;P3已占有一个单位的r2且申请一个单位的r2和一个单位的r3;P4已占有一个单位的r4和一个单位的r5,且申请一个单位的r3;P5已占有一个单位的r3且申请一个单位的r5。 (1)试画出该时刻的资源分配图。
(2)什么是死锁定理,如何判断(1)给出的资源分配图中有无死锁,给出判断过程和结果。
南京航空航天大学
2016年硕士研究生招生考试初试试题(
A 卷 )
科目代码: 922
科目名称:
数据结构与操作系统(专业学位)
满分: 150
注意: ①认真阅读答题纸上的注意事项;②所有答案必须写在答题纸上,写在本试题纸或草稿纸上均无
效;③本试题纸须随答题纸一起装入试题袋中交回!
数据结构部分(75分)
1.(5分)解释m 阶B-树的5个特性。
2.(10分)说明基数排序的算法思想和数据结构,对数据序列( 130, 6, 458, 92, 12, 836, 250, 59, 525, 272 ),给出基数排序过程示意图。
3.(10分)求下图中的关键路径,给出算法思想和求解过程每一步的状态。
4.(10分)输入关键字序列(55,12,24, 47,30, 68,19),建立平衡二叉树。说明算法思想,给出插入和调整的具体过程示意图。
5.(10分)设稀疏矩阵用三元组顺序表存储,说明快速转置算法思想,并用下面例子解释执行过程。
A 5×6=((1,3,21),(2,1,16),(2,3,9),(3,3,16),(4,2,58),(4,5,8),(5,1,66))
6.(10分)设L 为带头结点的单链表,元素值为整型。编写函数,删除L 中的重复结点(具有相同元素值的结点只保留一个)。先给出算法思想,再写出程序代码。
7.(10分)已知一棵二叉链表表示的二叉树T,编写函数,判断T 是否是完全二叉树。先给出算法思想,再写出程序代码。
8.(10分)已知顺序表(a 1,a 2,…a n )是小顶堆,编写函数,将(a 1,a 2,…a n ,a n+1)调整为小顶堆,要求T(n)=O(log 2n)。先给出算法思想,再写出相应代码。
V2
V 4
V6
V5  V 1 V 3
a7=6
a4=5 a8=1 a2=6
a3=2 a6=7 a5=4
a1=8
操作系统部分(75分)
1. 简答(25分.每题5分)
(1)缺页中断与其他普通中断的主要区别是什么?
(2)开发程序时用动态链接库有什么优点?
(3)在单缓冲情况下,为什么系统对一块数据的处理时间为max (C,T)+M ?
(4)什么是通道,什么是通道的瓶颈问题,如何处理此问题,请画出示意图?
(5)推动I/O发展的动力是什么,有哪几个发展阶段?
2.(10分)回答下列问题:
(1)试说明页面置换算法在虚拟存储管理中的重要性。(2分)
(2)FIFO算法适用于什么场合,又有何缺点 。(2分)
(3)设页面走向为1,2,3,4,1,2,5,1,2,3,4,5,当物理页框数分别是3和4时,试问:采用FIFO、LRU置换算法产生的缺页中断分别是多少?(这里假设内存开始时都是空的并且只要是第一次用到的页面都产生缺页中断)(6分)
3.(10分)A、B两个程序,程序A按顺序使用CPU 10秒,使用设备甲5秒,使用CPU 5秒,使用设备乙10秒,最后使用CPU 10秒,程序B按顺序使用设备甲10秒,使用CPU 10秒,使用设备乙10秒,使用CPU 5秒,使用设备乙10秒。试问:
(1)在顺序环境下执行程序A和程序B,CPU的利用率是多少?(3分)
(2)在多道程序环境下,CPU的利用率是多少?请画出A、B程序的执行过程。(4分)  (3)多道批处理中,是否系统中并发的进程越多,资源利用率越好,为什么?(3分)4.(10分)考虑5个进程P1、P2、P3、P4、P5,如下表,规定进程的优先级越小,优先级越高,试计算在采用下述几种调度算法时各个进程周转时间和带权周转时间。假设忽略进程的调度时间。
(1)先来先服务调度算法(FCFS);
(2)时间片轮转调度算法(时间片为1ms)(RR);
(3)最短作业优先调度算法(SJF);
(4)剥夺式优先级调度算法(HPF)。
进程 提交时刻 需要的CPU时间(ms) 优先级
P1 0    3    3
P2    2    6    5
P3    4    4    1