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

2018年南通大学计算机科学与技术学院919C数据结构考研基础五套测试题

  摘要

一、填空题

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

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

)

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

的值在

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

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

生成树的边结点

边的起点与终点

边上的权值

最小生成树定义

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

初始化最小生成树

T

依次求MST 的候选边

遍历当前候选边集合

选具有最小权值的候选边

图不连通,出错处理

第 2 页,共 72 页

修改候选边集合

【答案】(1)

(2)

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

的边为止。

2. 设T 和P 是两个给定的串,在T 中寻找等于P 的子串的过程称为_____,又称P 为_____。

【答案】模式匹配;模式串

3. 高度为h 的堆中,最多有_____元素,最少有_____个元素。

【答案】

。当最后一层只有

【解析】当这个堆构成的是满二叉树时,元素的个数最多,元素个数为一个元素时,此时堆的元素个数最少,元素个数为。

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

【答案】线性表

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

5. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k =_____。(注:矩阵元素下标从1开始)

【答案】93

【解析】对于上三角矩阵,k =(i﹣l)(2n﹣i +2)/2+(j﹣i) +l 。将i =j =9,n =15代入得93。

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

【答案】左子树;右子树

【解析】二叉排序树(binary sort tree)或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

第 3 页,共 72 页

是连通图

,v ,

直到

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

加入集合

,同时将并入

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

在B

7. 在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。

【答案】

【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。

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

h 为附加头结点指针

(_____)

_____;

【答案】(1)p!=NULL //链表未到尾就一直进行 (2)q //将当前结点作为头结点后的第一元素结点插入

9. 有向图G=(V, E) ,其中权d 。E(G)为

,则从源点0到顶点3的最短路径长度是_____,经过的中间顶点是_____。

【答案】50;4

10.设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。在下面的算法中,free_tree(T)在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点

,首先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下

处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返NULL ; 否则返回根结点的地址。

【答案】

第 4 页,共 72 页

,用三元组表示弧及弧上的