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

2017年辽宁工程技术大学管理科学与工程935数据结构考研题库

  摘要

一、填空题

1. 试利用下列栈和串的基本操作完成下述填空题。

initstack (S ) 置S 为空找; push (S , X ) 元素X 入找; pop (S ) 出栈操作; gettop (S ) 返回栈顶元素; sempty (S ) 判找空函数;

置串 判串 返回联接

empty (st ) 判串空函数

{若给定的表达式的前缀式pre 正确,本过程求得和它相应的表达式exp 并返回true , 否则exp 为空串,并返回false 。已知原表达式中不包含括弧,opset 为运算符的集合。)

注意:毎个空格只填一个语句。 【答案】(1)

栈S 初始化为空栈

为空串;

是否相等的函数;

之后的串;

length (st ) 返回串st 的长度;

sub (S , i , 1) 返回S 中第i 个字符;

(2)(3)(4)(5)(6)(7)exp (8)(9)exp (10)(11)(12)

串exp 初始化为空串 判取出字符是否是操作符

如ch 是运算符,则入操作符栈s 判栈8是否为空

若读出ch 是操作数且栈为空,则按出错处理

若ch 是操作数且栈非空,则形成部分中缀表达式

取栈顶操作符 操作符取出后,出栈

将pre 的最后一个字符(操作数)加入到中缀式exp 的最后

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

当其值为

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

【答案】

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

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

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

【答案】n (n-l )/2

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

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

个顶点

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

(1)若

是边,则

的值等于_____,若

不是边,则

的值是一个比任

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

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

【答案】(1)

已包括进生成树,就把矩阵元素A (i ,j )置成。 边上的权值;都大的数;(2)1; 负值;(3)为负;边

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

5. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。

【答案】顺序

【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了

更快的存取元素,顺序表更合适。

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

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

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

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

的值在〈limits •h>中

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

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

//生成树的边结点

//边的起点与终点

//边上的权值

//最小生成树定义

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

//初始化最小生成树

T

//依次求MST 的候选边

//遍历当前候选边集合

//选具有最小权值的候选边

//图不连通,出错处理

//修改候选边集合