2018年中国科学技术大学软件学院834软件工程基础[专业硕士]之数据结构考研基础五套测试题
● 摘要
一、单项选择题
1. 下列选项中,操作系统提供的给应用程序的接口是( ).
A. 系统调用
B. 中断
C. 库函数
D. 原语
【答案】A
【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用. 其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口(GUI)、自然命令用户接口(NUI)等,而系统调用中除了常规的一些传统的系统调用(例如read ( )) 以外,还有经过扩展的复杂调用(例如多种API) ,以及包含在Lib 库中的各种封装好的过程调用(最终都是通过系统调用陷入到操作系统中去的)等.
2. 下面关于B 和B+树的叙述中,不正确的是( )
A.B 树和B+树都是平衡的多叉树
B.B 树和B+树都可用于文件的索引结构
C.B 树和B+树都能有效地支持顺序检索
D.B 树和B+树都能有效地支持随机检索
【答案】C
【解析】B 树是一种平衡的多分树,通常我们说m 阶的B 树,它必须满足如下条件:①每个结点至多有m 个子结点;②除根结点和叶结点外,其它每个结点至少有个子结点;③若根结点不是叶子结点,则至少有两个子结点;④所有的叶结点在同一层;⑤有k 个子结点的非根结点恰好包含k -1个关键码。B+树是B 树的一种变形树,它与B 树的差异在于:有k 个子结点的结点必然有k 个关键码;非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。其中B 树适合与随即检索,不适合于顺序检索,所以C 项错误。
3. 某计算机主存容量为64KB ,其中ROM 区为4KB ,其余为RAM 区,按字节编址. 现要用2K ×8位的ROM 芯片和4K ×4位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM 芯片数分别是( )
A.1、15
B.2、15
C.1、30
D.2、30
【答案】D
【解析】主存储器包括RAM 和ROM 两部分,由于ROM 区为4KB ,则RAM 区为60KB. 存储容量的扩展方法有字扩展、位扩展、字和位同时扩展三种. 选用2Kx8位的ROM 芯片,只需采用2片芯片进行字扩展便可得到4KB 的ROM 区;选用4Kx4位的RAM 芯片,需采用(60)/4*2片芯片进行字和位同时扩展便可得60KB 的RAM 区.
4. 下列关于银行家算法的叙述中, 正确的是( )
A. 银行家算法可以预防死锁
B. 当系统处于安全状态时, 系统中一定无死锁进程
C. 当系统处于不安全状态时, 系统中一定会出现死锁进程
D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件
【答案】B
【解析】银行家算法是避免死锁的方法。利用银行家算法, 系统处于安全状态时没有死锁进程, 故答案选B 。
5. 为提高散列(Hash)表的查找效率, 可以采用的正确措施是( )。
Ⅰ. 增大装填(载) 因子
Ⅱ. 设计冲突(碰撞) 少的散列函数
Ⅲ. 处理冲突(碰撞) 时避免产生聚集(堆积) 现象
A. 仅Ⅰ
B. 仅Ⅱ
C. 仅Ⅰ、Ⅱ
D. 仅Ⅱ、Ⅲ
【答案】D
【解析】散列表的查找效率(比较次数) 取决于:散列函数、处理冲突的方法和散列表的装填因子α。α标志着散列表的装满程度, 通常情况下, α越小, 发生冲突的可能性越小; 反之, α越大, 表示已填入的记录越多, 再填入记录时, 发生冲突的可能性越大。因此选项Ⅰ错误, 越是增大装填因子, 发生冲突的可能性就越大, 查找效率也越低。选项Ⅱ正确。选项Ⅲ正确。采用合适的处理冲突的方法避免产生聚集现象, 也将提高查找效率。例如, 用拉链法解决冲突时不存在聚集现象, 用线性探测法解决冲突时易引起聚集现象。
6. 下列程常段的时间复杂度是( )
A.O()
B.O(n) C.O() D.O()
【答案】C
【解析】外部循环的退出条件是k>n, 而对于k , 每次循环都执行
内部循环的退出条件是j>n, 对于j , 每次循环都执行
) , 即选C 。 段的时间复杂度为O(
7. 稀疏矩阵一般的压缩存储方法有两种,即( )。
A. 二维数组和三维数组
B. 三元组和散列
C. 三元组和十字链表
D. 散列和十字链表
【答案】C
【解析】稀疏矩阵一般的压缩方法为三元组表和十字链表。三元组表就是将非零元素及其对应的行和列构成一个三元组(行标,列标,值) 。十字链表相比三元组表而言,主要是对每个结点增加了两个链域。如果数组经常运算时,会产生大量数据元素的移动,此时,采用链表存储结构更为恰当。
8. 一棵3阶B-树中含有2047个关键字,包括叶结点层,该树的最大深度为( )。
A.11
B.12
C.13
D.14
【答案】B
9. 折半查找的时间复杂性为( )。 A.
B.O(n) C. D.
【答案】D
【解析】顺序查找的事件复杂度为, 因为折半查找是查找效率最髙的算法,它的事件复杂度为。
10.在有向图G 的拓扑序列中,若顶点在顶点之前,则下列情形不可能出现的是( )。
A.G 中有弧
B.G 中有一条从到的路径
, 所以循环次数为; , 所以每次循环次数为n 次。所以此程序