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

2017年中国民航大学电子信息工程学院833算法与数据结构考研强化模拟题

  摘要

一、填空题

1. 设有一个空找,栈顶指针为1000H (十六进制),现有输入序列为1,2,3, 4, 5,经过PUSH ,PUSH , POP , PUSH , POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序栈,每个元素占4个字节。

【答案】23; 100CH

2. 建立索引文件的目的是_____。

【答案】提高查找速度

3. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称 增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。

【答案】3; (10,7,-9,0,47,23,1,8,98,36)

4. 一个算法具有5个特性:_____、_____、_____、有零个或多个输入、有一个或多个输出。

【答案】有穷性;确定性;可行性

5. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32,则其伙伴块的起始地址为_____。

【答案】

【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:

根据上述公式起始地址就为488。 6. 设有一个10阶对称矩阵A 采用压缩存储方式(以行为主序存储:

【答案】33

【解析】设存储的元素的行标为i ,列标为j 。若的地址为将代入得33。

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

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

〔始顶点号,终顶点号,权值)

第 2 页,共 52 页

,)则 的地址为_____。

则的地址为

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

的值在〈limits •h>中

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

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

//生成树的边结点

//边的起点与终点

//边上的权值

//最小生成树定义

//从顶点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

上最小生成树边的集合。算法从属于

为止。

第 3 页,共 52 页

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

属于

加入集合

同时将

并入

v

直到

的边(u ,v )属于E

中找一条代价最小的边

8. 阅读下列程序,指出其功能,并写出空格处应填上的语句。

【答案】

【解析】本题是在哈希表ht[]中插入值为的元素,如该元素已在哈希表中,报告出错。

9. 已知二维数组中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时

【答案】1196

【解析】设元素的行标为i ,列标为j 。则它的存储位置为:

10.二进制地址为011011110000,大小为和块的伙伴地址分别为:_____

【答案】011011110100;011011100000

011011110000是块的起始地址,【解析】大小分别为式如下:

当大小为4时,起始地址

11.循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

12.二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

当大小为16时,起始地址为

:和

其伙伴块的起始地址计算公

的地址是:_____。

第 4 页,共 52 页