文档详情

405数据结构与操作系统山东科技大学2007年硕士研究生入学考试试卷.doc

发布:2017-07-13约1.46千字共4页下载文档
文本预览下载声明
数据结构部分 注意事项: 1、算法应说明基本思路,应对主要数据类型、变量给出说明,所写算法应结构清晰、简明易懂,应加上必要的注释。 2、算法可用(类)PASCAL语言、(类)C语言等你所熟悉的高级语言编写,但要注明语种。 一、解答下列问题[每小题4分,共16分]: 1、[4分]为什么要分析算法的时间复杂度? 2、[4分]简述代码区、全局数据区、栈区、堆区在程序运行时的作用。 3、[4分]求模式串s=’aaaabc’的next及nextval函数。 4、[4分]证明根据森林的先序序列与中序序列可以唯一确定一个森林。 二、综合应用题[每小题8分,共24分]: 1、[8分]推导满k叉树上的叶子结点数n0和非叶子结点数n1之间的关系(即用k和n1表示n0)。 2、[8分]设有正文AADBAACACCDACAC AAD,字符集为A、B、C、D,设计一套二进制编码,使得上述正文的编码最短。 3、[8分]画出对长度为10的有序表进行二分查找时的判定树,并计算在等概率情况下查找成功的平均查找长度。 三、[15分]某超市有一批水果,按其价格从低到高的顺序构成一个单链表,每个结点有价格、数量和指针三个域,现新进m公斤价格为h的水果,编写一个函数修改原单链表。 四、[15分]采用链表作存储结构,编写一个采用选择排序方法进行升序排序的函数。 五、[15分]采用二叉链表存储树,试写一算法,实现对树的层次遍历。 六、[15分]设计一个算法,判断无向图G是否一棵树。 操作系统部分(50分) 一:名词解释(每题3分,总计12分) 1:线程 2:死锁 3:虚拟存储器 4:中断 二:简单题(每题5分,总计20分) 1:什么是微内核OS结构? 2:进程控制块PCB的主要作用是什么? 3:在I/O控制中,为什么引入DMA(Direct Memory Access)控制方式?DMA控制方式有何特点? 4:在请求分页系统中,每当所要访问的页面不在内存时,就产生一个缺页中断。请描述操作系统处理缺页中断的流程。 三:综合题(总计18分) 1:设有5个哲学家,共享一张放有五把椅子的桌子,每人分得一把椅子。但是桌子上总共只有五只筷子,在每人两边分开各放一只。他们的生活方式是交替的进行思考和进餐。哲学家在肚子饥饿时才试图分两次从两边拾起筷子就餐;进餐完毕,放下筷子继续思考。 条件:1)只有拿到两只筷子时,哲学家才能吃饭。2)如果筷子已在他人手上,则该哲学家必须等到他人吃完之后才能拿到筷子。3)必须分两次从两边拿起筷子。 请在满足上述约束条件的情况下,使用信号量机制,描述一个不会有哲学家饿死的算法。(本题8分) 2: 在磁盘存储管理中,经常采用混合分配方式。如下图,是UNIX V采用的混合索引分配方式,共设有13个地址项。其中iaddr(0)~iaddr(9) 为direct blocks,即直接地址,single indirect、double indirect 和triple indirect分别代表一次间接地址、二次间接地址和三次间接地址,地址项分别为iaddr(10),iaddr(11)和iaddr(12)。假设每个磁盘块大小为4KByte,地址位为32bits。请问UNIX V采用这种分配方式有何好处?允许的文件最大长度为多大?(本题5分) 3:在内存管理中,不能被利用的小分区称为“外碎片”,分区内部不能被使用的空间称为“内碎片”。碎片的存在影响了内存空间的利用率。请描述,在操作系统中处理碎片的策略。(本题5分)
显示全部
相似文档