2018年东北林业大学信息与计算机工程学院863高级语言及数据结构之数据结构考研核心题库
● 摘要
一、单项选择题
1. 设桟S 和队列Q 的初始状态为空,元素el ,e2,e3,e4,e5和e6依次通过栈S ,一个元素出栈后即进队列Q ,若6个元素出队的序列是e2,e4,e3,e6,e5,el ,则栈S 的容量至少应该是( )。
A.6
B.4
C.3
D.2
【答案】C
2. 将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是( ).
(1)父子关系
(2)兄弟关系
(3)U的父结点与V 的父结点是兄弟关系
A. 只有(1)
B.(1)和(2)
C.(1)和(3)
d.(1)、(2)和(3)
【答案】B
【解析】首先,在二叉树中,若结点U 是结点v 的父结点的父结点,那么u 和v 的关系有如下4种情况:
接下来,根据森林与二叉树的转换规则,将这4种情况还原成森林中结点的关系. 其中: 情况(1),在原来的森林中u 是v 的父结点的父结点;
情况(2),在森林中u 是v 的父结点;
情况(3),在森林中u 是v 的父结点的兄弟;
情况(4),在森林中u 与v 是兄弟关系.
由此可知,题目中的(1)、(2)是正确的.
3. 下列选项中, 满足短任务优先且不会发生饥饿现象的调度算法是( )。
A. 先来先服务
B. 高响应比优先
C. 时间片轮转
D. 非抢占式短任务优先
【答案】B
【解析】分析该题目可以看到, 本题所提到的问题是涉及短任务调度也就是属于作业调度, 因此首先排除时间片轮转算法; 因为作业调度算法中没有时间片轮转的算法。其次, 因为问题提到短任务, 则先来先服务的算法也可以排除了, 它与短任务无关。剩余高响应比优先算法和非抢占式短任务优先是哪一个?我们可以通过分析得到, 非抢占式短任务优先算法不能解决饥饿问题, 因为当一个系统短任务源源不断到达是, 长任务必然会得不到调度, 产生饥饿。而解决此方法的最好方式就是采用计算响应比的方法, 并以高响应比值优先调度。这样, 无论短任务或长任务, 均可以得到调度, 而且, 较短任务会得到优先的调度。故满足短任务优先且不会发生饥饿现象的调度算法只有高响应比优先算法。
4. 执行完下列语句段后,f 值为( )。
A.2
B.4
C.8
D. 无限递归
【答案】B
【解析】该程序使用了递归调用,由题知,:f(0)=2;f(l)=l*f(0)=2;f(2)=2*f(l)=4;所以结果为4。
5. 下列有关浮点数加减运算的叙述中, 正确的是( )。
Ⅰ. 对阶操作不会引起阶码上溢或下溢
Ⅱ. 右规和尾数舍入都可能引起阶码上溢
Ⅲ. 左规时可能引起阶码下溢
Ⅳ. 尾数溢出时结果不一定溢出
A. 仅Ⅱ Ⅲ
B. 仅Ⅰ Ⅱ Ⅳ
C. 仅Ⅰ Ⅲ Ⅳ
D. Ⅰ Ⅱ ⅢⅣ
【答案】D
【解析】浮点数的加减运算步骤包括:①对阶, 使两个操作数的小数点位置对齐, 阶码小的尾数右移, 可能产生溢出, 但是阶码不会溢出; ②尾数求和, 将对阶后的尾数按定点数加(减) 运算规则运算; ③规格化, 包括左规和右规, 左规时阶码减少, 可能出现阶码下溢, 而右规时, 阶码增加可能出现阶码上溢; ④舍入, 该过程可能需要右规调整, 因此可能出现阶码上溢; ⑤溢出判断, 浮点数的溢出与否是由阶码的符号决定的, 而不是由尾数溢出判断的, 因此尾数溢出时结果不一定溢出。因此Ⅰ Ⅱ Ⅲ Ⅳ均正确。
6. 下列选项给出的是从根分别到达两个叶节点路径上的权值序列, 能属于同一棵哈夫曼树的是( )。
A.24, 10, 5和24, 10, 7
B.24, 10, 5和24, 12, 7
C.24, 10, 10和24, 14, 11
D.24, 10, 5和24, 14, 6
【答案】D
【解析】哈夫曼树是带权路径长度最短的二叉树。由根节点出发到两个叶子节路径中, 第二个被访问的两个结点的权值要么相等, 要么和为根节点的权值, 故B 项错误。同理, 通过第三个被访问的节点排除A 项。C 项, 由两条路径可推出三个叶子节点的权值分别是:3、10和11, 而根据哈夫曼树的定义可知, 权值为3的节点应该和权值为10的结点结合, 故C 项错误。D 项, 反推出有四个叶子节点, 权值分别为:5、5、6和8, 满足哈夫曼树的条件。
7. 现在有一颗无重复关键字的平衡二叉树(AVL 树) , 对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中, 正确的是( )。
A. 根节点的度一定为2
B. 树中最小元素一定是叶节点
C. 最后插入的元素一定是叶节点
D. 树中最大元素一定是无左子树
【答案】D
【解析】二叉树的中序遍历定义是“若二叉树为空, 则空操作; 否则:
①中序遍历左子树; ②访问根节点; ③中序遍历右子树”。
A 项错误, 当树中仅有一个或者两个结点时, 根节点的度就可能不为2; B 项错误, 树中最小元素是中序遍历时最后访问的节点, 当没有右子树时, 最后访问的节点是根节点; C 项错误, 当最后插入的元素破坏树的平衡后, 树会进行调整, 使其成为中间节点; D 项正确, 由中序遍历的特点可知, 左子树的值大于根节点, 所以最大元素一定没有左子树。
相关内容
相关标签