某某高校研究生招生考试

来源:互联网 发布:ios怎么卸载软件 编辑:程序博客网 时间:2024/06/10 17:25

某某高校研究生招生考试:(数据结构&操作系统)(只记得几题了)

数据结构:
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;
}

原创粉丝点击