-
Bellman-Ford算法:
- 应用:检测负权环或求单源最短路径。
- 优势:适用于有负权边的图,但效率较低。
- 节点选择:可能在某些情况下帮助优化其他算法,如Dijkstra。
-
Dijkstra算法:
- 应用:正权边图的单源最短路径。
- 改进:使用SPFA优化,处理负权边。
- 节点选择:优先处理近邻节点,提高效率。
-
Ford-Fulkerson算法:
- 应用:最大流问题。
- 节点选择:寻找路径时优先处理某些节点,优化增广路径。
-
Edmonds-Karp算法:
- 应用:正权边图的有源最大流。
- 节点选择:使用广度优先搜索(BFS)来处理路径。
-
Relaxation技术:
- 应用:确保流量不超过容量,满足守恒。
- 节点选择:在算法中用于处理边,确保优化过程。
-
SPFA算法:
- 应用:优化Dijkstra,处理负权边。
- 节点选择:使用队列管理节点处理顺序,避免效率下降。
-
Relaxation与节点选择结合:
- 应用:优化网络流问题中的路径选择。
- 节点选择:在Relaxation中处理节点顺序,提升算法效率。
-
实际应用与优缺点:
- 选择方法:根据不同情况(如负权边、大规模规模)选择合适算法。
- 性能比较:Dijkstra、SPFA等适合正权边,Bellman-Ford、Edmonds-Karp适合有源有 sinks。
通过理解这些方法的原理和应用场景,可以更好地应用节点选择方法优化网络流算法,解决实际问题。








