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

2017年大连海事大学交通运输管理学院813管理信息系统与数据结构考研仿真模拟题

  摘要

一、填空题

1. 一个有2001个结点的完全二叉树的高度是_____。

【答案】11

【解析】

完全二叉树的高度

2. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4; 2

3. 设有个结点的完全二叉树顺序存放在向量

【答案】

中,其下标值最大的分支结点为_____。

【解析】最大的分支结点是最后一个叶子结点的父结点。

4. 从平均时间性能而言,_____排序最佳。

【答案】快速

【解析】快速算法的平均时间复杂度为nlogn 。

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

【答案】提高查找速度

6. 己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需_____次查找成功,查找47时_____成功,查找100时,需_____次才能确定不成功。

【答案】2;4;3

【解析】二分法查找元素次数列表

找100是找到115就停止了。

7. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。

注:(1)图的顶点号从0开始计;

(2)indegree 是有n 个分量的一维数组,放顶点的入度, (3)函数crein 用于记算顶点入度;

(4)有三个函数push (data ), pop( ), check( )其含义为数据data 入浅,出栈

和测试栈是否空(不空返回1, 否则0)。

.

【答案】0; j; i; 0; indegree[i]=0; [vex][i]; k==l; indegree[i]=0

【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度 为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的 入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。

8. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。

【答案】

【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为

9. 应用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

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

为止。

10.已知链队列的头尾指针分别是f 和r , 则将值x 入队的操作序列是_____。

【答案】

【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。

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

加入集合

同时将

并入

v

直到

的边(u ,v )属于E

中找一条代价最小的边

二、判断题

11.无环有向图才能进行拓扑排序。( )

【答案】√

【解析】在图论中,由一个有向无环图的顶点组成的序列,才能进行拓扑排序。