所以我有下一个任务:在图中找到最小和最小的最小路(可以是相同的)值,为此我使用Dijkstra的alghoritm。第一个最小的一切都很好(只是使用alghoritm),但我有找到第二个最小的问题。想找到另一种方式,基于第一个最小的方式,最小的差异,但这并不总是有效,因为第二个最小的方式可能不同于第一个。对于寻找第二种最小化方式的任何想法?
答案 0 :(得分:3)
假设您将距离存储在类似distance[x]
的数组中,表示距节点x
的距离,您可以将数组切换为matrix
。因此,对于每个节点x
,您都会在distance[x]
中存储值列表。从现在开始,使用所有这些值来计算与x
相邻的所有节点的距离。完成所有操作后,您可以选择目标节点的行,然后从那里选择第二个最小值。