2017年安徽理工大学软件工程841数据结构考研题库
● 摘要
一、选择题
1. 将两个各有N 个元素的有序表归并成一个有序表,其最少的比较次数是( )。
A.N
B.2N-1
C.2N
D.N-1
【答案】A
【解析】归并排序基本思想:归并排序是多次将两个或两个以上的有序表合并成一个新的有序表。最简单的归并是直接将两个有序的子表合并成一个有序的表。归并排序最好情况下的复杂度为
2. 采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是( )。
A. 递归次数与初始数据的排列次序无关
B. 每次划分后,先处理较长的分区可以减少递归次数
C. 每次划分后,先处理较短的分区可以减少递归次数
D. 递归次数与每次划分后得到的分区的处理顺序无关
【答案】D
【解析】快速排序是递归的,递归过程可用一棵二叉树给出,递归调用层次数与二叉树的深
,采用快速排序方法,其对应递归调用度一致。例如:待排序列{48, 62,35, 77, 55, 14, 35, 98)
过程的二叉树如下图所示。
在最坏情况下,若初始序列按关键码有序或基本有序时,快速排序反而蜕化为冒泡排序。即其对应递归调用过程的二叉树是一棵单支树。因此快速排序的递归次数与初始数据的排列次序有关。但快速排序的递归次数与每次划分后得到的分区处理顺序无关,即先处理较长的分区或先处理较短的分区都不影响递归次数。
3. 下列措施中,能加快虚实地址转换的是1增大快表(TLB ) 2让页表常驻内存3增大交换区( )。
A. 仅1
B. 仅2
C. 仅 1,2
D. 仅 2, 3
【答案】C
【解析】加大快表能增加快表的命中率,即减少了访问内存的次数;让页表常驻内存能够使cpu 不用访问内存找页表,从也加快了虚实地址转换。而增大交换区只是对内存的一种扩充作用,对虚实地址转换并无影响
4. 下列选项中,用于提高RAID 可靠性的措施有( )
I. 磁盘镜像 II. 条带化 III. 奇偶校验 IV . 增加Cache 机制
A. 仅 I 、II
B. 仅 I 、III
C. 仅 I 、III 和IV
D. 仅II 、III 和IV
【答案】B
【解析】能够提高RAID 可靠性的措施主要是对磁盘进行镜像处理和进行奇偶校验。其余选项不符合条件。
5. 在下图所示的平衡二叉树中,插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中,关键字37 所在结点的左、右子结点中保存的关键字分别是( )。
A.13、48
B.24、48
C.24、53
D.24、90
【答案】C
【解析】题目中,插入48以后,树根结点的平衡因子由-1变为-2, 失去平衡。这属于RL (先右后左)型平衡旋转,需做两次(先右旋后左旋转)旋转操作。过程如下图所示:
显然,在调整后的新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是24, 53。
6. 以下数据结构中,( )是非线性数据结构。
A. 树
B. 字符串
C. 队
D. 栈
【答案】A
【解析】非线性结构是指存在一对多或者多对一的关系。常见的非线性结构有树结构和图结构。
7. 在一棵具有15个关键字的4阶B 树中,含关键字的结点数最多是( )
A.5
B.6
C.10
D.15
【答案】D
【解析】m 阶B 树非根结点含关键字个数
4阶B 树非根结点含关键字1〜3个,所以要使关键字结点数量最多,那么每个结点只有一个关键字,一共有15个关键字那么最多有15个含有关键字的结点
8. 用有向无环图描述表达式(A+B)*(,至少需要顶点的数目为( )(A+B)/A)。
A.5 B.6 C.8 D.9
【答案】A
【解析】一共5个结点
9. 假设栈初始为空,将中缀表达式
当扫描到f 时,栈中的元素依次是( )
A.
B.
C.
6条边 转换为等价后缀表达式的过程中,