某某高校研究生招生考试:(数据结构&操作系统)(只记得几题了)
数据结构:
1.1。高为h的avl树最多有多少个节点,最少有多少个节点?
1.2。给出二叉树的前序和中序,求后序
2。设计一种可以动态调整结构、使得可以快速对近期内访问过的节点进行检索的数据结构
写出ADT,说明如何达到“快速对近期内访问过的节点进行检索”
3。程序改错:(源程序记不得了)
3.1。使用栈对前缀表达式求值的改错
3.2。字符串KMP匹配的改错
4。给出了一个递归深度拓扑排序的程序,中间有三个空,要求程序填空
(源程序记不清了)
操作系统:
1。虚拟页式内存管理中,内存页表主要有那些表项?这些表项分别表示什么?
2。文件系统提高性能的方法,以及这些方法如何达到提高性能?
3。进程通信的方法,以及其主要特点
4。一批进程(给出了预计执行时间、开始时间、优先数),在时间片轮转、抢夺式优先数、非抢夺式优先数下的调度执行情况
5。同时有一批磁盘访问(给出访问的柱面号、磁道号、扇区号),按什么顺序访问最好?
6。PV操作,现有pv操作定义如下:(p同普通p)
V:
semophore++
if (semophore<=0)
{
唤醒semophore等待队列中“最后”一个进程,插入就绪队列
(注意,是唤醒队尾进程……)
}
现有4个进程,均要对一个互斥使用的资源进行多次访问
使用上述的pv操作解决4个进程对资源的互斥访问。
我帮你补充一下PV题吧,有兴趣的朋友可以看看
6。PV操作
某系统如此定义P、V操作:
P(S):
S = S - 1;
若S<0本进程等待队列末尾,否则继续运行。
V(S):
S = S + 1;
若S>=0 释放等待队列中末尾的进程,否则继续运行。
现有四个进程P1、P2、P3、P4竞争使用某一需要互斥使用的资源(每个进程可能反复使用多次),试用这样的P、V操作来正确地实现互斥。
对于第二题:
假设节点域有2个:int data1,int data2;
可以这样设计节点的数据结构:
struct node1
{
int data1;
int data2;
}
struct node
{
struct node queen[N];//把它当循环队列用,每次访问一个节点就进队列
int data1;
int data2;
}
本文记录了某高校研究生招生考试中数据结构和操作系统的部分真题。数据结构涉及AVL树节点数量、二叉树遍历、数据结构设计、程序改错和拓扑排序填空等;操作系统涵盖虚拟页式内存管理、文件系统性能提升、进程通信、调度执行、磁盘访问顺序和PV操作等内容。

5万+

被折叠的 条评论
为什么被折叠?



