我正在研究 Dijkstra 算法的实现,以检索路由网络上互连节点之间的最短路径。我已经实施了。当我将起始节点传递给算法时,它会返回到所有节点的所有最短路径。
我的问题:
如何检索从节点 A 到节点 G 的所有可能路径,甚至从节点 A 到节点 A 的所有可能路径?
Finding all可能的路径是一个难题,因为简单路径的数量呈指数级增长。即使找到第 k 个最短路径 [或最长路径]NP-Hard http://en.wikipedia.org/wiki/NP-hard.
一种可能的解决方案是查找所有路径[或达到一定长度的所有路径]s
to t
is BFS http://en.wikipedia.org/wiki/Breadth-first_search,不保留visited
设置,或者对于加权版本 - 您可能想要使用统一成本搜索 http://en.wikipedia.org/wiki/Uniform-cost_search
请注意,在每个有循环的图中[它不是一个DAG http://en.wikipedia.org/wiki/Directed_acyclic_graph] 之间可能有无数条路径s
to t
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)