如何获得循环有向加权图的两个给定节点之间的最短路径作为节点列表?
答案 0 :(得分:2)
我认为dijkstra的算法正是您所寻找的:
要将最短路径作为节点列表,您必须使用其他地图(类型为节点 - >节点)来跟踪节点的前任。
假设我们找到了从A到C的最短路径。
从空地图开始。当更新从节点A到节点B的暂定距离时,您还插入关系B - >进入你的地图(这意味着A是B的前身)。如果找到距离B更短的距离,则覆盖地图条目。
当您的算法完成后,您的地图包含条目B - > A和C - > B.现在,您可以追溯到地图并创建列表。