Dijkstra 算法第二最小方法
Dijkstra's alghoritm second minimum way
所以我在图中有下一个 task:find 最小值和第二个最小值(可以相同),为此我使用 Dijkstra 的算法。使用第一个最小值一切都很好(只需使用 alghoritm),但我无法找到第二个 minimum.Tried 以找到另一种方法,基于第一个最小值方式,差异最小,但这并不总是有效,因为第二个最小值方式可能不同来自 first.So 关于找到第二最小方法的任何想法?
假设您将距离存储在像 distance[x]
这样的数组中,表示到节点 x
的距离,您可以将数组切换为 matrix
。因此,对于每个节点 x
,您将在 distance[x]
中存储一个值列表。从现在开始,使用所有这些值来计算与 x
相邻的所有节点的距离。一切都完成后,您可以 select 目标节点的行并从那里选择第二个最小值。
所以我在图中有下一个 task:find 最小值和第二个最小值(可以相同),为此我使用 Dijkstra 的算法。使用第一个最小值一切都很好(只需使用 alghoritm),但我无法找到第二个 minimum.Tried 以找到另一种方法,基于第一个最小值方式,差异最小,但这并不总是有效,因为第二个最小值方式可能不同来自 first.So 关于找到第二最小方法的任何想法?
假设您将距离存储在像 distance[x]
这样的数组中,表示到节点 x
的距离,您可以将数组切换为 matrix
。因此,对于每个节点 x
,您将在 distance[x]
中存储一个值列表。从现在开始,使用所有这些值来计算与 x
相邻的所有节点的距离。一切都完成后,您可以 select 目标节点的行并从那里选择第二个最小值。