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

2017年武汉工程大学计算机科学与工程学院835数据结构之数据结构考研冲刺密押题

  摘要

一、填空题

1. 栈是_____的线性表,其运算遵循_____的原则。

;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)

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

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

置串 判串 返回联接

empty (st ) 判串空函数

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

第 2 页,共 58 页

为空串;

是否相等的函数;

之后的串;

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

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

注意:毎个空格只填一个语句。 【答案】(1)(2)(3)(4)(5)(6)(7)exp (8)(9)exp (10)(11

)(12)

3. 顺序栈用

【答案】

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

将pre 的最后一个字符(操作数)加入到中缀式exp 的最后 存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。

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

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

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

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

【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。

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

【答案】

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

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

【答案】(1)链表未到尾就一直进行

(2)

第 3 页,共 58 页

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

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

【答案】线性表

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

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

END ; 【答案】

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

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

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

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

的值在〈limits •h>中

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

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

//生成树的边结点

//边的起点与终点

//边上的权值

//最小生成树定义

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

//初始化最小生成树

T

//依次求MST 的候选边

第 4 页,共 58 页