Dijkstra的算法没有“先前”向量

时间:2011-01-20 22:35:27

标签: c++ algorithm dijkstra breadth-first-search

我感兴趣的是找到图表中任何节点与根/源之间的最小距离。所有链接都有重量。我认为我不需要使用the Wikipedia article中指示的previous[],因为我不需要知道每个节点的父节点。那是对的吗?另外,如果权重都等于1,我想我可以运行BFS吗?

1 个答案:

答案 0 :(得分:3)

完全有可能在没有后向指针的情况下实现Dijkstra的算法;我知道这是因为I've done it myself。 :-)结果是,一旦完成,你将无法恢复最短的路径,但如果你需要的只是完全正常的路径长度。

关于你的第二个问题,是的,你可以直接用单位权重使用BFS。 Dijkstra算法按照BFS中遇到的顺序访问节点,如果所有边缘具有相同的正成本。