Dijkstra 算法第二最小方法

Dijkstra's alghoritm second minimum way

所以我在图中有下一个 task:find 最小值和第二个最小值(可以相同),为此我使用 Dijkstra 的算法。使用第一个最小值一切都很好(只需使用 alghoritm),但我无法找到第二个 minimum.Tried 以找到另一种方法,基于第一个最小值方式,差异最小,但这并不总是有效,因为第二个最小值方式可能不同来自 first.So 关于找到第二最小方法的任何想法?

假设您将距离存储在像 distance[x] 这样的数组中,表示到节点 x 的距离,您可以将数组切换为 matrix。因此,对于每个节点 x,您将在 distance[x] 中存储一个值列表。从现在开始,使用所有这些值来计算与 x 相邻的所有节点的距离。一切都完成后,您可以 select 目标节点的行并从那里选择第二个最小值。