2017年山东省培养单位烟台海岸带研究所866计算机原理之数据结构考研题库
● 摘要
一、选择题
1. 某时刻进程的资源使用情况如下表所示
此时的安全序列是( )。 A.P1, P2, P3, P4 B.P1, P3, P2, P4 C.P1, P4, P3, P2 D 不存在 【答案】D
【解析】典型的死锁避免算法,银行家算法的应用。银行家算法是操作系统中的一个重点知识单元,考生对此应该非常熟悉,本题并无难点。分析一下下表,可以看到,经过P1, P4的运行以后,可用资源是2, 2,1,而 P2, P3所需资源分别是1,3, 2和1,3,1。所以剩余资源已经不够P2或P3的分配,亦即找不到能够安全运行的序 列,因此此时是处于不安全状态,所以不存在这样的安全序列。
2. 若将关键字1,2, 3, 4, 5, 6, 7依次插入到初始为空的平衡二叉树T 中,则T 中平衡因子为0的分支结点的个数是( )
A.0 B.1 C.2 D.3
【答案】D
【解析】将图中给定的关键字序列依次插入到平衡树中,构成的平衡树如下图所示,由图可知平衡因子为0的分支结点为3个叶子结点,故答案为D 。
3. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A. 单链表
B. 仅有头指针的单循环链表 C. 双链表
D. 仅有尾指针的单循环链表 【答案】D
【解析】仅有尾指针的单循环链表,在最后插入元素和删除第一个元素都会用到这个尾指针。
4.
已知操作符包括
将中缀表达式转换为等价
的后缀表达式
时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为
空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A.5 B.7 C.8 D.11
【答案】A 。
【解析】基本思想是:采用运算符栈是为了比较运算符的优先级,所有运算符必须进栈。只将大于栈顶元素优先级的运算符直接进栈,否则需要退栈栈顶运算符(先出栈的运算符先计算,同优先级的运算符在栈中的先计算)
。表达式所列:
产生后缀表达式的过程如下表
通过上表可以看出,显然转换过程中同时保存在栈中的操作符的最大个数是5。
5. 线性表是具有n 个( )的有限序列(n >0)。
A. 表元素 B. 字符 C. 数据元素 D. 数据项E. 信息项 【答案】C
【解析】一个线性表是n 个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同。
6. 已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。
A.39 B.52 C.111 D.119
【答案】C
【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层。题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度。根据题意,一棵完全二叉树的第6层(设根为第1层)有8个叶结点,可知此二叉树的高度是6或7。题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7。由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是-1=63。又根据二叉树的性质1可知,题目中二叉树的第6层结点数是=32个结点,已知有8个叶子结点,那么其余32-8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点)。所以此二叉树的结点数最多可达-1+(-8)×2=lll。
相关内容
相关标签