数据结构
2009-41
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:
① 设最短路径初始时仅包含初始顶点,令当前顶点 u 为初始顶点;
② 选择离 u 最近且尚未在最短路径中的一个顶点 v,加入最短路径中,修改当前顶点 u=v;
③ 重复步骤②,直到 u 是目标顶点时为止。
请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。
答案
(1)该方法不能求得最短路径。
(2)反例如下图所示:

图(1)中,设初始顶点为 1、目标顶点为 4。顶点 1 到顶点 4 的最短路径长度显然为 2,但按题中方法求得的路径长度为 3,因此所得路径并不是最短路径。
图(2)中,设初始顶点为 1、目标顶点为 3。按题中方法无法求出顶点 1 到顶点 3 的路径。
该年份真题解析暂未更新