首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Bellman-Ford不能用于单源最长路径?

为什么Bellman-Ford不能用于单源最长路径?
EN

Stack Overflow用户
提问于 2020-08-25 09:45:31
回答 1查看 692关注 0票数 2

Dijkstra不能用于最长路径,因为它使用了当前最短路径肯定比其他路径短的属性。当然,假设没有负边权重,这是正确的。这也是为什么最长路径在Dijkstra上不起作用的原因,因为当前的最长路径不能保证以后不会有另一条更长的路径采用更大的值。

另一方面,贝尔曼福特提供了负重的灵活性,但性能较差。这意味着对于贝尔曼·福特来说,它不会像Dijkstra那样贪婪。这就是为什么我感到困惑的原因--为什么Bellman Ford不能用于单源最长路径问题(NP hard)?例如,我们可以简单地将图的所有权重乘以-1,并找到最短路径,这将是原始图的最长路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-25 10:14:27

贝尔曼-福特允许重复使用圆弧(否则,即使在存在负循环的情况下,也会有定义良好的最短路径),而单源最长路径问题的NP难度来自于它不是这样的事实(否则,您可以在将所有权重乘以−1之后使用贝尔曼-福特)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63570901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档