列举有向无环图中的所有路径

是否有任何标准算法可以在有向无环图中找到所有可能的路径。如果没有,我如何在BFS / Dijkstra /任何其他算法中进行更改以枚举DAG中的所有路径

回答:

在指数中的任何图中找到所有可能的路径。可以使用回溯来解决。对于DAG,我们可以使用深度优先搜索(DFS)进行。在DFS代码中,从任何节点开始,转到极端死角路径,并使用一些数组或列表记下在该路径中访问的所有节点。一旦发现死角,请立即打印包含访问的节点的数组,并弹出最后存储的节点,并从第(n-1)个节点的另一条路径开始。如果第(n-1)个节点的所有路径都用尽,则从列表中弹出该节点,然后从(n-2)个节点开始。这样做直到您到达所有死角并到达第一个节点。所有已打印路径都是给定DAG中的路径。

您可以检查代码http://pastebin.com/p6ciRJCU

以上是 列举有向无环图中的所有路径 的全部内容, 来源链接: utcz.com/qa/428342.html

回到顶部