2017年南京大学工程管理学院972计算机软件技术基础(含数据结构和数据库)[专业硕士]考研强化模拟题
● 摘要
一、选择题
1. 假设某计算机按字编址,Cache 有4个行,Cache 和主存之间交换的块大小为1个字。若Cache 的内容初始为空,采用2路组相联映射方式和LRU 替换算法,当访问的主存地址依次为0, 4, 8, 2, 0, 6, 8, 6, 4, 8时,命中Cache 的次数是( )。
A.1
B.2
C.3
D.4
【答案】C 。
【解析】Cache 有4个行,2路组相联,即Cache 被分成2组,每组2行。主存地址为0〜1、4〜5、8〜9 可映射到第0组Cache 中,主存地址为2〜3、6〜7可映射到第1组Cache 中。Cache 初始为空,采用LRU 替换算法,当访问主存的10个地址依次为0, 4,8, 2, 0, 6,8, 6, 4, 8时,命中Cache 的次数共有3次,分别发生在第7、8和10步时。
2. 下列关于图的叙述中,正确的是( )。
I. 回路是简单路径
II. 存储稀疏图,用邻接矩阵比邻接表更省空间
III. 若有向图中存在拓扑序列,则该图不存在回路
A. 仅 II
B. 仅 I 、II
C. 仅III
D. 仅 I 、III
【答案】C
【解析】第一个顶点和最后一个顶点相同的路径称为回路;序列中顶点不重复出现的路径称为简单路径;回路显然不是简单路径,所以选项I 错误。稀疏图用邻接表表示比邻接矩阵节省存储空间,稠密图适合用邻接矩阵的存储表示,所以选项II 错误。利用拓扑排序算法可以判断图中是否存在回路,即在拓扑排序输出结束后所余下的顶点都有前驱,则说明了只得到了部分顶点的拓扑有序序列,图中存在回路。所以选项III 正确。
3. 归并排序中,归并的趟数是( )。
【答案】B
【解析】不妨设归并的趟数为m ,第一次归并每组有两个元素,最后一次归并只剩下一组,
这组的元素个数为n
。因此每次归并元素的个数增加一倍。所以
所以归并的趟数为
4. 已知广义表用和数取出LS 中原子e 的运算是( )。
【答案】C 【解析】操作就是得到广义表中第一个的原子。
得
到
得到e 。
5. 哈希函数有一个共同的性质,即函数值应当以( )取其值域中的每个值。
A. 最大概率
B. 最小概率
C. 平均概率
D. 同等概率
【答案】D
6. 线性表的顺序存储结构是一种( )。
A. 随机存取的存储结构
B. 顺序存取的存储结构
C. 索引存取的存储结构
D.Hash 存取的存储结构
【答案】A
【解析】线性表包括顺序存储结构和链式存储结构,顺序存储结构能够随机存取表中的元素,但插入和删除操作较麻烦,链式存储结构不能随机访问表中的元素,但是能够表示元素之间的先后次序,而且插入和删除操作较容易。
7. 数组中含有元素的个数( )。
A.55
B.45
C.36
D.16
【答案】B
【解析】该数组为三维数组。其个数为
8. 二叉树在线索化后,仍不能有效求解的问题是( )。
A. 前序线索二叉树中求前序后继
B. 中序线索二叉树中求中序后继
操作就是得到除第一个原子外剩下元得
到得
到素构成的表
。
C. 中序线索二叉树中求中序前驱
D. 后序线索二叉树中求后序后继
【答案】D
【解析】后序线索二叉树求后序后继要分3种情况,比较复杂,不是仅仅线索化后就能求解的,算法上还要要分情况讨论。
9. 在一株高度为2的5阶B 树中,所含关键字的个数最少是( )
A.5
B.7
C.8
D.14
【答案】A
【解析】根据B 树的定义可知,跟结点最少含有个关键字,高度为2的阶B 树最少有(5-1)+1=5个关键字,其中根节点含有个关键字,第2层结点含有1关键字。
10.下列选项中,不能构成折半查找中关键字比较序列的是( )。
A.500,200,450,180
B.500,450,200,180
C.180,500,200,450
D.180,200,500,450
【答案】A
【解析】折半查找的过程是:先确定待查找记录所在的范围,然后逐步缩小范围直到找到或找不到该记录为止。折半查找的关键字序列满足:对每一个关键字,其后面的所有关键字序列或者都小于等于该关键字或者都大于等于该关键字。A 项错误,第三次比较的关键字为450,说明待查关键字位于200〜450间,所以第四次比较时不会遇到关键字180。
二、判断题
11.m 阶B 树的任何一个结点的左右子树的高度都相等。( )
【答案】√
【解析】由B 树的性质得知,叶子结点都处于同一层。因此,m 阶B 树的任何一个结点的左右子树的高度都相等。
12.在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。( )
【答案】√
,使其n 个元素的最大(小)【解析】堆排序:基本思想先将原始序列构造成一个堆(初始堆)
值处于序列的第一个位置;然后交换序列第一个元素与最后一个元素的位置。
13.为了很方便的插入和删除数据,可以使用双向链表存放数据。( ) 【答案】