2017年中国海洋大学基础教学中心教育系938数据结构与程序设计之数据结构考研冲刺密押题
● 摘要
一、选择题
1. 计算机算法指的是解决问题的步骤序列,它必须具备( )三个特性。
A. 可执行性、可移植性、可扩充性
B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性
D. 易读性、稳定性、安全性
【答案】B
【解析】计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述,也就是解决问题的步骤序列。一个算法通常需要具备五大特性:有穷性;确定性;可执行性;输入一个算法有零个或多个输入;输出一个算法有零个或者多个输出。
2. 假设某计算机按字编址,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步时。
3. 下列关于图的叙述中,正确的是( )。
I. 回路是简单路径
II. 存储稀疏图,用邻接矩阵比邻接表更省空间
III. 若有向图中存在拓扑序列,则该图不存在回路
A. 仅 II
B. 仅 I 、II
C. 仅III
D. 仅 I 、III
【答案】C
【解析】第一个顶点和最后一个顶点相同的路径称为回路;序列中顶点不重复出现的路径称为简单路径;回路显然不是简单路径,所以选项I 错误。稀疏图用邻接表表示比邻接矩阵节省存储空间,稠密图适合用邻接矩阵的存储表示,所以选项II 错误。利用拓扑排序算法可以判断图中是否存在回路,即在拓扑排序输出结束后所余下的顶点都有前驱,则说明了只得到了部分顶点的拓扑有序序列,图中存在回路。所以选项III 正确。
4. 以太网的MAC 协议提供的是( )。
A. 无连接不可靠服务
B. 无连接可靠服务
C. 有连接不可靠服务
D. 有连接可靠服务
【答案】A 。
【解析】考查以太网MAC 协议,考虑到局域网信道质量好,以太网采取了两项重要的措施以使通信更简洁:①采用无连接的工作方式;②不对发送的数据帧进行编号,也不要求对方发回确认。因此,以太网提供的服务是不可靠的服务,即尽最大努力交付,差错的纠正由高层完成。
5. 下列不是设计一个“好”的算法应考虑达到的目标是( )。
A. 可行的
B. 健壮的
C. 无二义性的
D. 可读性好的
【答案】A
【解析】设计一个“好”的算法应考虑以下目标:正确性;可读性;健壮性;效率和低存储量需求。可行性是算法的五个基本特征之一,不是一个好的算法该达到的目标。
6. 在系统总线的数据线上,不可能传输的是( )。
A. 指令
B. 操作数
C. 握手(应答)信号
D. 中断类型号型号
【答案】C
【解析】握手(应答)信号属于通信联络控制信号应该在通信总线上传输,不可能在数据总线上传输。而指令、操作数和中断类型码都可以在数据线上传输。
7. 下面关于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 项错误。
8. 设二维数组(即m 行n 列)按行存储在数组
在一维数组B 中的下标为( )。
【答案】A
【解析】
前
的元素个数为
所以二维数组元素在一维数组B
中的下标为
需要注意数组B 的下标是从0开始,还是从1开始。
9. 一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。
A.107
B.108
C.214
D.215
【答案】B
【解析】此题可转化为一棵哈夫曼树共有215个结点,共有多少叶子结点。又有
以
10.对一组数据(2, 12, 16, 88, 5,10)进行排序,若前三趟排序结果如下:
第一趟:2,12,16, 5,10,88
第二趟:2,12,5,10,16, 88 第三趟:2,5,10,12,16, 88
则采用的排序方法可能是( )。
A. 起泡排序
B. 希尔排序
中,
则二维数组元素所
也就是说若对其进行哈夫曼编码,共能得到108个码字。