在无向图上查找所有路径

时间:2018-09-12 15:11:46

标签: algorithm graph path-finding

我有一个无向图,我想列出起始节点的所有可能路径。 在列出的路径中,两个节点之间的每个连接都是唯一的,例如,给出以下图形表示形式:

{A: [B, C, D],
 B: [A, C, D],
 C: [A, B, D],
 D: [A, B, C]}

某些列出的路径从A

开始
A, B, C, D, A, C  in this path we have a connection between
A and B but we can't have a connection between B and A 

我无法使用DFS那样的现有算法来完成此任务。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

最简单的方法是递归地尝试每个邻居并合并所有结果。

这假设没有循环-如果您允许循环(如您的示例所示),将有无限多的路径。在这种情况下,您可以通过限制要检查的路径长度,然后遍历所有可能的路径长度来制作路径生成器。