当前位置:问答库>考研试题

2018年北京师范大学教育学部894程序设计与数据结构之数据结构考研仿真模拟五套题

  摘要

一、填空题

1. 数据结构中评价算法的两个重要指标是_____。

【答案】算法的时间复杂度和空间复杂度

2. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。

【答案】起泡;快速

【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为O(n),

2

而快速排序算 法需要比较的次数达到最大,时间复杂度为O (n) 。

3. 应用prim 算法求解连通网络的最小生成树问题。

(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条边。(始顶点号,终顶点号,权值

)

(2)下面是Prim 算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。

的值在

图的顶点数,应由用户定义

用二维数组作为邻接矩阵表示

生成树的边结点

边的起点与终点

边上的权值

最小生成树定义

第 2 页,共 46 页

从顶点rt 出发构造图G 的最小生成树T , rt 成为树的根结点

初始化最小生成树

T

依次求MST 的候选边

遍历当前候选边集合

选具有最小权值的候选边

图不连通,出错处理

修改候选边集合

【答案】(1)

(2)

【解析】Prim 算法的执行类似于寻找图的最短路径的Dijkstra 算法。假设是N 上最小生成树边的集合。算法从属于

的边为止。

4. N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。

【答案】

【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N -1条边就可以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1) 个非零元素。

5. 下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n 个顶点

用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。

(1)若

是边,则

的值等于_____,若

不是边,则A(i, j) 的值是一个比任何

边的权_____,矩阵的对角线元素全为0。

(2)构造最小生成树过程中,若顶点已包括进生成树,就把相邻矩阵的对角线元素成_____,若

【答案】(1)

已包括进生成树,就把矩阵元素

置成_____。

(3)算法结束时,相邻矩阵中_____的元素指出最小生成树的_____。

边上的权值;都大的数;(2)1; 负值;(3)为负;边

第 3 页,共 46 页

是连通图

,v ,

直到

,开始,重复执行下述操作:在所有u 属于

加入集合

,同时将并入

属于E 中找一条代价最小的边

6. 已知二维数组

【答案】1196

中每个元素占4个单元,在按行优先方式将其存储到起始地址

为1000的连续存储区域时,A[5,9]的地址是: _____。

【解析】设元素的行标为i ,列标为j 。则它的存储位置为:l000+[(i﹣l)*l0+(j﹣0)]*4

7. 完善算法:求KMP 算法.next 数组。

k :=_____;next[1]:=0;

k :=_____;

END ;

【答案】0;next[k]

8. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。

【答案】

【解析】无向完全图中任意一个顶点都和其他n -1个顶点都有一条边,即为n(n-1) 。又因. 。 为每条边重复出现两次,所有无向完全图的边数为

9. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。

【答案】O(m+n)

10.当广义表中的每个元素都是原子时,广义表便成了_____。

【答案】线性表

【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。

11.顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_____次;当使用监视哨时,若查找失败,则比较关键字的次数为_____。

【答案】n ; n+1

【解析】最多的情况就是把整个表遍历了一遍。使用监视哨时,需要多一个存储空间来存监视哨。

12.在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。

【答案】

【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,

第 4 页,共 46 页