2017年华侨大学计算机科学与技术学院850数据结构与C++[专业硕士]考研冲刺密押题
● 摘要
一、填空题
1. 外排序的基本操作过程是_____和_____。
;归并 【答案】生成有序归并段(顺串)
2. 一个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】
完全二叉树的高度
3. 顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_____次;当使用监视哨时,若查找失败,则比较关键字的次数为_____。
【答案】
【解析】最多的情况就是把整个表遍历了一遍。使用监视哨时,需要多一个存储空间来存监视哨。
4. 循环队列的引入,目的是为了克服_____。
【答案】假溢出时大量移动数据元素
【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。
5. 实现字符串拷贝的函数strcpy 为:
【答案】
6. 完善算法:求KMP 算法.next 数组。
第 2 页,共 71 页
END ; 【答案】
7. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。
【答案】
【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,
所以
8. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素在B 中的存储位置k=_____。(注:矩阵元素下标从1开始)
【答案】93
【解析】对于上三角矩阵
,
9. 文件由_____组成;记录由_____组成。
【答案】记录;数据项
10.应用prim 算法求解连通网络的最小生成树问题。
(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条边。
〔始顶点号,终顶点号,权值)
将
代入得93。
(2)下面是Prim 算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。
的值在〈limits •h>中
//图的顶点数,应由用户定义
//用二维数组作为邻接矩阵表示
//生成树的边结点
//边的起点与终点
//边上的权值
//最小生成树定义
第 3 页,共 71 页
//从顶点rt 出发构造图G 的最小生成树T ,rt 成为树的根结点
//初始化最小生成树
T
//依次求MST 的候选边
//遍历当前候选边集合
//选具有最小权值的候选边
//图不连通,出错处理
//修改候选边集合
【答案】(1)(0,3,1); (3,5, 4); (5,2,2); (3,1, 5); (1,4,3) (2)①T[k]; tovex=i②min=Maxint③mispos=i④exit (O )⑤T[i]; fromvex=v
【解析】Prim 算法的执行类似于寻找图的最短路径的Dijkstra 算法。假设N={V,E}是连通图
,是N
上最小生成树边的集合。算法从属于
为止。
E T 开始,重复执行下述操作:在所有u 属于
加入集合
同时将
并入
v
直到
的边(u ,v )属于E
中找一条代价最小的边
二、选择题
11.下列不是设计一个“好”的算法应考虑达到的目标是( )。
A. 可行的 B. 健壮的 C. 无二义性的 D. 可读性好的 【答案】A
【解析】设计一个“好”的算法应考虑以下目标:正确性;可读性;健壮性;效率和低存储量需求。可行性是算法的五个基本特征之一,不是一个好的算法该达到的目标。
12.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是( )。
A. 选择排序法B. 插入排序法C. 快速排序法D. 堆排序法 【答案】A
【解析】选择排序的基本思想是:
第 4 页,共 71 页