Algorithm Dijkstra vs BellFord算法

Algorithm Dijkstra vs BellFord算法,algorithm,graph,dijkstra,Algorithm,Graph,Dijkstra,如果我需要找到从一个源到图中所有其他顶点的最短路径(有向和加权),我可以使用Dijkstra算法还是需要使用BellFord算法?因为Dijkstra的正确实现比Bellman Ford快,除非图中有负权重边,否则使用Dijkstra。在这种情况下,Dijkstra可能是错误的,但贝尔曼·福特仍然会返回正确的答案 记住,如果一个图有一个负的权重循环,那么最短路径就没有很好的定义。Bellman Ford可以修改为能够检查给定图表是否具有负权重循环。福特可以处理负权重,Dijkstra不能。如果有

如果我需要找到从一个源到图中所有其他顶点的最短路径(有向和加权),我可以使用Dijkstra算法还是需要使用BellFord算法?

因为Dijkstra的正确实现比Bellman Ford快,除非图中有负权重边,否则使用Dijkstra。在这种情况下,Dijkstra可能是错误的,但贝尔曼·福特仍然会返回正确的答案


记住,如果一个图有一个负的权重循环,那么最短路径就没有很好的定义。Bellman Ford可以修改为能够检查给定图表是否具有负权重循环。

福特可以处理负权重,Dijkstra不能。如果有任何问题,请使用福特