2017年湖南师范大学软件工程之数据结构(C语言版)复试实战预测五套卷
● 摘要
一、应用题
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. 某网络中的路由器运行0SPF 路由协议,如表是路由器R1维护的主要链路状态信息(LSI ),如图是根据表及R1的接口名构造出来的网络拓扑。
表R1所维护的LSI
图R1构造的网络拓扑
请回答下列问题。
(1)本题中的网络可抽象为数据结构中的哪种逻辑结构?
(2)针对表中的内容,设计合理的链式存储结构,以保存表中的链路状态信息(LSI )。要求给出链式存储结构的数据类型定义,并画出对应表的链式存储结构示意图(示意图中可仅以ID 标识节点)。
(3)按照迪杰斯特拉(Dijikstra )算法的策略,依次给出R1到达图中子网192.1.x.x 的最短路径及费用。
【答案】(1)图
(2)使用图的邻接表存储结构进行存储,数据类型定义如下:
该弧指向路由器的位置,0为没有
该弧指向的网络的网络前缀,空为没有
路由的基础IP ,当adjvex 不为0才有效
指向下一条弧的指针
连接的权值
表结点
第一个结点地址
头节点
链式存储结构示意图如下图所示:
(3
)目标网络
记为
记为
记为使用dijkstra 算法找最短路径步骤如下表所示:
相关内容
相关标签