2017北京大学软件与微电子学院考研831计算机基础综合试卷
2017北京大学软件与微电子学院831试卷回忆(计算机基础综合)
选择题:30*2=60分 数据结构、操作系统、计算机网络各10道
大题:90分
1.(5分)已知一颗二叉树的中序序列为DCEFBHGAKJLIM,后序序列为DFECHGBKLJMIA,画出这颗二叉树对应的森林。
2.(15分)有向图采用邻接矩阵结构存储,设计一个算法判断该有向图是否存在有向回路,若存在,则以顶点序列的方式输出回路。
3.(15分)设计一个算法对一个数组A[n]进行排序,要求负数排在正数之前,0排中间,并分析时间复杂度。
4.(10分)一个文件系统有一个20MB大文件和一个20KB小文件,当分别采用连续、链接、链接索引、二级索引和LINUX分配方案时,每块大小为4096B,每块地址用4B表示。 LINUX混合分配方案:有12个直接地址指针,还有一个一级索引,一个二级索引,一个三级索引。问:
(1)各文件系统能管理的最大文件是多少?
(2)每种方案对大小两文件各需要用多少专用块来记录文件的物理地址(说明各块的用途)
(3)若需要读大文件前面的第5.5KB的信息和后面第(16M+5.5KB)的信息,则每个方案各需要多少次盘I/O操作?
5.(10分)在一个批处理系统中,有两个作业进程。有一作业序列,其到达时间及估计运行时间如下表。作业调度采用高响应比优先的算法,进程调度采用短作业优先的抢占式调度算法。
作业 到达时间 估计运行时间min
1 10:00 35
2 10:10 30
3 10:15 45
4 10:20 20
5 10:30 30
(1)列出各作业的运行的时间片段;(2)计算这批作业的平均周转时间.
6.(15分)P.V操作,3个进程R,M,P,共享大小为n的可循环使用的缓冲区B,缓冲区互斥使用。进程R负责从输入设备读信息,每读入一个字符,把他们存放在缓冲区B的一个单元中,进程M负责处理读入的字符,如果字符是空格,将其改变为';',进程P负责从缓冲区读出处理后的字符并打印。利用P,V操作作为同步机制写出他们能正确执行的程序,注明使用的信号量及其意义。
7.(8分)对于计算机网络分层体系,为什么传输层必不可少?为什么有的应用程序采用TCP 协议,有的采用UDP协议?
8.(12分)路由选择,给了个路由表,判定下一选择的接口