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

2017年西南科技大学数据结构(同等学力加试)复试实战预测五套卷

  摘要

一、应用题

1. 带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径,假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:

①该最短路径初始时仅包含初始顶点,令当前顶点为初始顶点; ②选择离最近且尚未在最短路径中的顶点V ,加入到最短路径中,修改当前顶点

请证明之;否则请举例说明。

【答案】题目中方法不一定能(或不能)求得最短路径。举例说明:

图(a )

图(b )

图(a )中,假设初始顶点1到目标顶点4之间有一条边,权值x=2。显然图(a )中这顶点1和顶点4之间的最短路径长度为2。若按照题目中给定的方法找到的路径为初始顶点1经过中间结点2、3到目标顶点4, 即初始顶

显然, 一目标顶点4, 所经过的边的权值分别

为 ③重复步骤②,直到是目标顶点时为止。请问上述方法能否求得最短路径? 若该方法可行,

因此按照题目中给定的方法所求得的路径并不是这两个顶点之间的最短路径。

图(b )中,假设初始顶点为1、目标顶点为4, 欲求从顶点1到顶点4之间的最短路径。显然,按照题目中给定的方法无法求出顶点1到顶点4的路径,而事实上顶点1到顶点4的最短路径为1到4。

2. 某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效,例如控制信号MDRinE 为1表示允许数据从DB 打入MDR ,MDRin 为1表示允许数据从内总线打入MDR 。假设MAR 的输出一直处于使能状态。加法指令“ADD (Rl ), R0”的功能为(R0)+((R1))-(R1), 即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。

下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。

【答案】执行阶段每个节拍(时钟周期)的功能和有效控制信号见下表。

3. 画出同时满足下列两个条件的两棵不同的二叉树。

(1)按前序遍历二叉树的顺序为ABCDE 。

(2)高度为5其对应的树(森林)的高度最大为4。

【答案】(1)满足条件的二叉树如图1所示:

图1

(2)满足条件的二叉树如图2所示:

图2

4. 如果输入序列为123456, 试问能否通过栈结构得到以下两个序列:435612和135426; 请说明为什么不能或如何才能得到。

【答案】输入序列为123456, 不能得出435612, 其理由是,输出序列最后两元素是12, 前面4个元素(4356)得到后,栈中元素剩12, 且2在栈顶,栈底元素1不可能在栈顶元素2之前出栈。得到135426的过程如下:1入栈并出栈,得到部分输出序列1; 然后2和3入找,3出栈,部分输出序列变为13; 接着4和5入栈,5、4和2依次出栈,部分输出序列变为13542; 最后6入栈并出栈,得到最终结果135426。