当前位置:问答库>考研试题

2016年沈阳航空航天大学计算机学院数据结构复试笔试仿真模拟题

  摘要

一、选择题

1. 设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2, 再建立F1的硬链接文件F3, 然后删除F1。此时,F2和F3的引用计数值分别是( )。

A.0、1

B.1、1

C.1、2

D.2、1

【答案】B

【解析】为了使文件实现共享,通常在使用该形式文件系统的文件索引节点中设置一个链接计数字段,用来表示链接到本文件的用户目录项的数目(引用计数值),这是共享的一种方法。当新文件建立时,一般默认引用计数值为1。硬链接可以看作是已存在文件的另一个名字,新文件和被链接文件指向同一个节点,引用计数值加1。当删除被链接文件时,只是把引用计数值减1,直到引用计数值为0时,才能真正删除文件。软链接又叫符号链接,在新文件中只包含了被链接文件的路径名,新文件和被链接文件指向不同的节点。建立软链接文件时,文件的引用计数值不会增加。在这种方式下,当被链接文件删除时,新文件仍然是存在的,只不过是不能通过新文件的路径访问被链接文件而已。因此,在本题中,当建立F2时,F1和F2的引用计数值都为1。当再建立F3时,F1和F3的引用计数值就都变成了2。当后来删除F1时,F3的引用计数值为2-1=1。F2的引用计数值仍然保持不变,所以F2和F3的引用计数值分别是:1, 1。

2. 单链表中,增加一个头结点的目的是为了( )。

A. 使单链表至少有一个结点

B. 标识表结点中首结点的位置

C. 方便运算的实现

D. 说明单链表是线性表的链式存储

【答案】C

【解析】单链表中增加一个头结点的目的是为了方便运算的实现,使得对第一个元素的操作与其它元素的操作相同。

3. 对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是( )。

A.95, 22, 91, 24, 94, 71

B.92, 20, 91, 34, 88, 35

C.21, 89, 77, 29, 36, 38

D.12, 25, 71, 68, 33, 34

【答案】A

【解析】各选项对应的查找过程如下图所示,从中看到选项B 、C 、D 对应的查找树都是二叉排序树,只有选项A 对应的查找树不是一棵二叉排序树,因为在以91为根的左子树中出现了比91大的结点94。

4. 若X 是后序线索二叉树中的叶结点, 且X 存在左兄弟结点Y ,则X 的右线索指向的是( )

A.X 的父结点

B. 以Y 为根的子树的最左下结点

C.X 的左兄弟结点Y

D. 以Y 为根的子树的最右下结点

【答案】A

【解析】根据后续线索二叉树的定义,X 结点为叶子结点且有左兄弟,那么这个结点为右孩子结点,利用后续遍历的方式可知X 结点的后继是其父结点,即其右线索指向的是父结点。

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.

某系统正在执行三个进程

例如下表所示。

和各进程的计算(CPUCPUCPU )时间和时间比

为提高系统资源利用率,合理的进程优先级设置应( ) A. B. C. D.

【答案】B

【解析】为了合理地设置进程优先级,应该将进程的CPU 利用时间和时间做综合考虑,故答案选B 。

7. 设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。

A. 线性表的顺序存储结构

B. 队列

C. 线性表的链式存储结构

D. 栈

【答案】D

【解析】用栈更合适,如果是左括号,进找;如果是右括号,看栈顶是不是左括号,如果是,

则左括号出栈;否则不配对(可以直接结束算法)。处理完所有符号号,如果栈为空则配对成功。

8. 图的BFS 生成树的树高比DFS 生成树的树高( )。

A. 小或相等 B. 小 C. 大或相等 D. 大

【答案】A

【解析】BFS 称作广度优先搜索,DFS 称作深度优先搜索。广度优先搜索类似与二叉树的层序遍历算法,深度优先搜索类似于树的先序遍历。因为深度优先搜索算法遵循的策略是尽可能的“深”地搜索一个图。所以图的BFS 生成树的树高比DFS 生成树的树高小或者相等。

9. 某系统有n 台互斥使用的同类设备,3个并发进程需要3, 4, 5台设备,可确保系统不发生死锁的设备数n 最小为( )

A.9

B.10

C.11

D.12

【答案】B

【解析】2+3+4+1 = 10