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

2017年大连大学国家863空间信息技术初试辅导(2016年)之数据结构考研导师圈点必考题汇编

  摘要

一、填空题

1. 在哈希函数

中,P 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

2. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树 【解析】二叉排序树

或者是一棵空树,或者是具有下列性质的二叉树:①若它

的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

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

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

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

(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

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

为止。

4. 设单链表的结点结构为

为指针域,已知指针px 指向单链表中data 为x 的结

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

属于

加入集合

同时将

并入

v

直到

的边(u ,v )属于E

中找一条代价最小的边

_____;点,指针py 指向data 为y 的新结点,若将结点y 插入结点x 之后,贝懦要执行以下语句:

_____;

【答案】

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

END ; 【答案】

6. 在一棵m

阶的个数是_____。

【答案】

树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的

关键字的个数是_____;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字

【解析】m

阶树除根结点和叶子结点外,结点中关键字个数最多是最少

7. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_____和记录的_____,

【答案】比较;移动

8. 设二维数组A 的行和列的下标范围分别为

【答案】

当其值为

每个元素占2个单元,按行优先顺处的元素为_____。

序存储,第一个元素的存储起始位置为b ,则存储位置为

【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是

时,则i=2,j=3。

9. 以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

【答案】(1)(2)

链表未到尾就一直进行

将当前结点作为头结点后的第一元素结点插入

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

【答案】线性表

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

二、算法设计题

11.给定

矩阵

并设

设计一算法判定x 的值是否在A 中,

要求时间复杂度为

【答案】算法如下: