给定有向图,如何在两个节点之间找到所有可能的路径并返回这些路径。
如果不是Java,请向我推荐算法。我搜索过,我发现使用的是BFS或DFS,但我无法看到哪种情况更好。如何跟踪所有路径,而不仅仅是最短路径。
例如,给出以下图表:
1 - > 2
1 - > 3
2 - > 3
3 - > 4
对于节点1和4之间的路径,输出应为:
第一条路径:1 - > 2 - > 3 - > 4
第二路径:1 - > 3 - > 4
答案 0 :(得分:2)
对我来说,向后遍历要容易得多。算法步骤如下:
3
)作为新目的地,并重复步骤1
& 2
直到没有匹配的节点可用。 良好的递归方案。您的收藏品为:[(1,2),(2,3),(3,4)],[(1,3),(3,4) )]