Dijkstra 用于负加权循环 - 添加一个非常大的数字,使所有边为正

问题描述 投票:0回答:1

我认为标题充分解释了我想问的问题。

我理解 dijkstra 是贪婪的,以及为什么它在负加权循环上不起作用(无数关于溢出的问题)。

那么现在为什么我们不向图中的所有边添加一些恒定的大数,以便所有边现在都严格为正。现在 dijkstra 找到最短路径应该没有任何问题了吧?

甚至总路径权重也可以写成:

总路径权重=新图路径权重-(固定大数 *路径长度)

我在这里遗漏了一些东西,它是什么?

graph shortest-path
1个回答
0
投票

这将找到边数最少的路径,而不是总权重最低的路径。

© www.soinside.com 2019 - 2024. All rights reserved.