【发布时间】:2017-08-25 18:35:14
【问题描述】:
假设我有一个带边的加权无向图,并且想要找到最短路径以及我可以从起点到终点的所有可能路径,实现这一点的最佳方法是什么?广度深度搜索和 k 路径算法似乎提供了合理的解决方案,虽然我不确定哪个是最好的
【问题讨论】:
-
Dijkstra 并通过检查距离是否等于两点之间的距离差来重构路径。
-
由于您要求“所有可能的路径”,因此您可能希望在出现循环时指定您的期望。但我认为这个问题目前是题外话。
-
由于您要求“所有可能的路径”,请注意,这些路径的数量可能会随着输入的大小呈指数增长,因此通常的效率度量(即多项式有界运行时间)可能不适用.
-
请注意,只要图中存在循环,“所有路径”的数量就会迅速增加到无穷大,除非您明确排除包含循环的路径。
标签: algorithm graph shortest-path