假设我有一张图,其中最小边权为-100。我能够给所有的边加上100的偏移量并使用Dijkstra算法吗?
请帮助我理解为什么这种方法会导致错误的解答。
请帮助我理解为什么这种方法会导致错误的解答。
将每条边的权重加100会导致错误的解决方案,因为它惩罚了比那些少一些边的路径,要多一些边的路径。
例如,假设我们有一个图形,从点A到点B的最短路径有3个边和总距离5。 假设从点A到点B的其他某条路径有2个边,但总距离为10。
如果我们将每条边的权重加100,则第一条路径的成本为305,而第二条路径的成本为210。 因此,第二条路径变得比第一条路径更短。
因此,我们可以得出结论,向每个边权值添加偏移量或常数并不能保证最短路径不变。