【发布时间】:2013-02-06 23:48:49
【问题描述】:
我正在使用广度优先搜索来查找图表中的位置,并且我很确定我的算法可以正常工作,但是当我完成后,我很难找到通往结果的最短路径。本质上,我可以使用 BFS 从我的起始位置到我的结束位置,但我不知道如何构建从结束到开始的最短路径。任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
找到两点之间的最短路径实际上包括找到这些点的问题,所以你已经有一个工作的 BFS 让你离最短路径问题更近了一步。对于最短路径算法,您有很多选择 - A*、Dijkstra、Bellman-Ford 仅举几例 - 所以请查看它们。
-
我认为 OP 假设该图未加权。
-
@Bob John,您需要指定图表是否加权和/或定向。如果两者都不是,那么回溯 BFS 将为您提供解决方案。请注意,可能有多个最短路径(长度相等)。
标签: c++ algorithm graph breadth-first-search