graph-theory - 操纵负加权有向图的边成本以允许使用 Dijkstra 算法
问题描述
假设我们有一个包含正加权边和负加权边的有向图。
我知道最短路径解决方案是 Bellman-Ford 算法。
我的问题是:为什么我们不能只在所有边成本上添加一些较大的值 N 以便不再有负边,然后使用效率更高的 Dijkstra 算法?
解决方案
为每个边长添加一个常数对于路径长度来说并不是单调的,即使对于相同的两个节点之间的路径也是如此(因为路径的边数可能不同)。考虑具有边ab
、bc
和ac
权重的图-1
。添加N=2
切换最短路径从a
到c
从ab,bc
到ac
。
推荐阅读
- html - 使用 bootstrap 4+ 和 AOS 在我的页面上保持正确的填充像素
- python - ModuleNotFoundError:vs 代码中没有名为“django”的模块问题
- react-native - 如何在不使用onchangeText的情况下从文本框中获取文本?
- docker - 如何为反向代理配置 nginx 以隐藏正在运行 docker 容器的端口?
- docker - 如何在 Docker 上使用 Geckodriver .Net 内核运行 Selenium
- openedge - 数据被 CSV 文件覆盖
- python - 以特定顺序在同一个线程中运行多个函数
- flutter - GestureDetector 在 IgnorePointer 下不起作用
- javascript - 递归地记录dom中所有孩子的所有孩子
- vue.js - Vue组件的CSS样式程序