Dijkstra 输出多条最短路径
Dijkstra 中,可以使用prev[i]来保存前驱结点,最终输出一条最短路径。但是有时候有可能存在多条代价相同的最短路径。如何输出?
[解决办法]
楼主试试把prev数组定义为 vector<int> 类型,然后每次找到的所有最短路径的前驱添加到相应vector<int>中。在回溯时看看vector中有几个元素,然后产生相应路径,楼主试试吧。
发布时间: 2013-04-21 21:18:07 作者: rapoo
Dijkstra 输出多条最短路径
Dijkstra 中,可以使用prev[i]来保存前驱结点,最终输出一条最短路径。但是有时候有可能存在多条代价相同的最短路径。如何输出?
[解决办法]
楼主试试把prev数组定义为 vector<int> 类型,然后每次找到的所有最短路径的前驱添加到相应vector<int>中。在回溯时看看vector中有几个元素,然后产生相应路径,楼主试试吧。