2021 年安徽师范大学计算机理论基础考研真题
第一部分 数据结构(80 分)
一、简答题(每小题 5 分,共 20 分)
1.简述线性结构中数据元素间关系的特点,并列举常用的线性结构(3 种以上)。
2.简述头结点和头指针的概念,并说明链表中加入头结点的作用。
3.对于一个栈,如果输入序列为 A、B、C,给出全部可能的输出序列。
4.简述稀疏矩阵压缩存储的方法。
二、应用题(每小题 8 分,共 40 分)
1.一棵二叉树的后序遍历序列为 CEFDBKJIHGA,中序遍历序列为 CBEDFAHJKIG,给出相应的
二 叉树以及先序遍历序列。
2.已知图 G 的邻接矩阵如下图所示,顶点集 V={ V0,V1,V2,V3,V4,V5}。
(1)画出图 G;(2)基于上述邻接矩阵,给出从顶点 V。出发的深度优先遍历序列。
3.已知权值集合为{16,5,9,3,30,1};构造出哈夫曼树(要求∶左孩子结点权重为最小
值,右孩子结点权重为次小值),并计算其带权路径长度。
4.设哈希表 HT 表长 m 为 13,哈希函数为 H(k)=k MODm,给定的关键字值序列为{19,14,
23,10,68,20,84,27,55,11}。采用线性探测再散列解决冲突构造该散列表,并给出
在等概率条件下查找成功时的平均查找长度。
5.设待排序序列为{10,18,4,3,6,12,1,9,18,8},请写出直接插入排序前四趟以及
第一趟快速排序的结果。
三、算法设计题(每小题 10 分,共 20 分)
1.设计一个空间复杂度为 O(1)且时间上尽可能高效的算法,在带头结点的单链表 L 中删
除所有值为 x 的结点。
2.有向图 G 采用邻接矩阵存储,设计算法求图 G 中顶点度的最大值。图的邻接矩阵存储定义
如下:
第二部分 操作系统(70 分)
一、简答题(每小题 5 分,共 30 分)
1.多道程序设计技术的主要优点是什么?
2.什么是临界资源、临界区?
3.同步机制应遵循哪些准则?
4.按序分配是预防死锁的一种策略。试说明什么是按序分配?
5.在采用首次适应算法回收内存时,可能出现哪几种情况?
6.简述文件逻辑结构的类型。
二、应用题(每小题 10 分,共 40 分)
1.设一系统中有四类资源 R1、R2、R3、R4,且每类资源总数分别为 6、3、4、2。在某时刻,
系统状态如下表所示,问∶若进程 B 请求(0,0,1,0),可否立即分配?请分析说明。
2.在分页、分段、段页式存储管理中,当访问一条指令或数据时,各需要访问内存几次?假
设一个分页存储系统中有快表,多数活动页表项都可以存在其中。若页表在内存中,内存访
问时间为 1μs,检索快表时间是 0.2μs,若快表的命中率是 85%则存取时间是多少?
3.设某计算机的逻辑地址空间和物理地址空间均为 64KB,按字节编址。若某进程最多需要 6
页数据存储空间,页的大小为 1KB,操作系统采用固定分配局部置换策略为此进程分配 4 个
物理块。在时刻 260 前,该进程的访问情况见下表(访问位即使用位)。
当该进程执行到时刻 260 时,要访问逻辑地址为 17CAH 的数据。请回答下列问题∶
(1)该逻辑地址对应的页号是多少?
(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少,要求给出计
算过程。
4.多个生产者进程和多个消费者进程共享一个能存放 500 件产品的环形缓冲区(初始为
空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,
消费者进程可以从缓冲区取走一件产品,否则等待。要求一个生产者进程连续向缓冲区放 5
件产品后,其他生产者进程才可以放产品。请使用 P、V 操作实现进程间的互斥与同步,要
求写出完整的过程,并说明所用信号量的含义和初值。