2017 年山东大学软件工程专业基础综合考研真题
一、解释概念(共 5 题,每题 3 分)
1、内核(kerne1)
2、计时器(Timer)
3、进程(process)
4、对换(swapping)
5、动态装入(dynamic loading)
二、叙述题(共 6 题,每题 10 分)
1、简要描述进程调度多级反馈队列调度算法的基本思想,并且说明它在哪些方面体现了进
程调度的基本准则。
2、系统中有两个进程 P1 和 P2,他们的执行过程如图所示。试用信号量机制编写代码,描
述这两个进程之间的同步关系。
3、在一个采用分段内存管理的系统中,段表如下。
在将下列逻辑地址∶[0,300]、[1,0J、[2,580]和[3,1234]转换为物理地址时,得到的
结果是什么?
4、在一个多线程的进程中,线程之间可以共享如下哪些资源∶
1)寄存器;
2)堆;
3)栈;
4)全程变量;
5)I/0 端口,并说明共享或不能共享的理由。
5、什么是虚拟文件系统(visual file system)?它与普通文件系统有什么不同?说明虚拟
文件系统的基本结构。
6、简述磁盘的物理格式化(physica] formatting)和逻辑格式化(logical foTmatting)
一般是由谁、在什么时候来做的?这两个操作所完成的主要工作是什么?
三、简答题(共 4 题,50 分)
1、(13 分)假设有 6 个从小到大排好序的有序表,它们分别含有 20、30、40、60、70 和
100 个整数,现要通过 5 次两两合并,将它们最终合并成一个有序表,问;应该按怎样的次
序进行这 5 次合并,以使所有可能使用的最大的总比较次数最小?请简要给出求解过程。
2、(13 分)对于给定的一组关键字输入序列{55,31,11,37,46,73,63,2,7},从空
树
开始构造二叉搜索树,画出每加入一个新节点时的二叉义树形态,对于最终形成的二叉搜
索树,分别计算等概率查找各关键字情况下,查找成功和不成功的平均查找次数。
3、(12 分)写出二分查找算法的基本思想。若单链表的节点是按关键字升序链接,能否用
二分查找法进行查找,为什么?
4、(12 分)给定邻接链表方式存储的无向图 G(V,E),如下图所示。要求;写出此图的邻
接矩阵表达形式,并画出该图的深度优先和广度优先生成树。
四、程序设计题(共 2 题,25 分)
1、(13 分)二义树中两个结点之间的距离定义为结点之间的路径长度。设二叉树采用二叉
链表存储结构,对于给定二叉树中的两个结点,编写算法计算它们之间的距离。
2、(12 分)给定 n 个整数,设计快速排序算法;然后适当改进算法求解第 k 大的数。