2018年中国农业科学院家禽所808数据结构考研基础五套测试题
● 摘要
一、单项选择题
1. 已知小根堆为8, 15, 10, 21, 34, 16, 12, 删除关键字8之后需重建堆, 在此过程中, 关键字之间的比较数是( )。
A.1
B.2
C.3
D.4
【答案】C
【解析】堆排序中, 依次输出堆顶的最小值, 然后重新调整堆, 如此反复执行, 便得到一个有序序列。本题中, 删除堆顶元素8后将最后一个元素12置于堆顶, 然后调整堆:首先与15比较, 12小于15, 所以不用交换; 然后与10比较, 因为10小于12, 所以交换10和12的位置; 调整后12再与16比较, 12小于16, 调整堆过程结束。因此12共与15、10、16进行了三次比较。
2. 假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3, 这些资源总数分别为18、6、22。时刻的资源分配情况如下表所示, 此时存在的一个安全序列是( )。
表 资源分配情况表
A.P0, P2, P4, P1, P3
B.P1, P0, P3, P4, P2
C.P2, P1, P0, P3, P4
D.P3, P4, P2, P1, P0P0
【答案】D 。
【解析】典型的死锁避免算法、银行家算法的应用。分析一下下表, 可以看到, P3, P4, P2, P1, P0运行是可以的。
表
本题也可以排除法, 时刻可用资源是R1, R2, R3分别为2, 3, 3, 此时刻, P0需要R1, R2, R3分别为2, 3, 7, 故排除A , P1需要R1, R2, R3分别为1, 3, 3, P2还需要资源R1, R2, R3分别为0, 0, 6, 故C 排除, P3需要R1, R2, R3分别为2, 2, 1。所以正确答案在B , D 之间。
看B 选项, P1之后的可用资源R1, R2, R3分别变为6, 3, 6, 而P0尚需资源2, 3, 7, 故B 方案行不通。因而最终答案只有D 项。
3. 5个字符有如下4种编码方案, 不是前缀编码的是( )
A.01, 0000, 0001, 001, 1
B.011, 000, 001, 010, 1
C.000, 001, 010, 011, 100
D.0, 100, 110, 1110, 1100
【答案】D
【解析】在一个字符集中, 任何一个字符的编码都不是另一个字符编码的前缀。约定左分支表示字符„0‟, 右分支表示字符„1‟, 则可以用从根结点到叶子结点的路径上的分支字符串作为该叶子结点字符的编码。如此得到的编码必是前缀编码。D 选项中, 编码110是编码1100的前缀, 故不符合前缀编码的定义
4. 设n 是描述问题规模的非负整数, 下面程序片段的时间复杂度是( )。
A.
B.
C.
D.
【答案】A
【解析】其中, 以基本的原操作重复执行的次数作为算法的时间度量。题目中的基本运算是语
句, 设其执行时间为, 则有即。
5. 设与某资源相关联的信号量初值为3,当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( ).
A.0、1
B.1、0
C.1、2
D.2、0
【答案】B
【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0.
6. 若查找每个记录的概率均等,则在具有n 个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL 为( )。 A.
B.n/2 C.
D.n
【答案】C
【解析】最快查找一次成功,最慢查找n
次成功。平均查找次数为
。
7. 若线性表最常用的操作是存取第I 个元素及其前驱和后继元素的值,为节省时间应采用的存储方式( )。
A. 单链表
B. 双向链表
C. 单循环链表
D. 顺序表
【答案】D
【解析】线性表采用顺序表,便于进行存取任一指定序号的元素。
8. 若对如下的二叉树进行中序线索化, 则结点x 的左、右线索指向的结点分别是( )
A.e , c
B.e , a
C.d , c
D.b , a 那么