【发布时间】:2012-06-21 17:10:02
【问题描述】:
我知道我自己和其他许多人可能都在这里,
嗯,根据 CLRS(3 edition,22.4.2),有一个 O(n) 算法可以在有向无环图中找到 2 个节点之间的所有简单路径。
我遇到了类似的问题,Number of paths between two nodes in a DAG 和 All the paths between 2 nodes in graph,但在这两种情况下,都没有提到正确的解释或伪代码,或者如果是,我怀疑它是最有效的一个(O(n))。
如果有人真的可以发布一个确切的代码或伪代码来解决问题,因为当我浏览所有上述链接时,我并没有真正找到一个高大上的单一答案。
如果代码也处理循环图会更好,即如果图中有循环,但是如果没有路径 两个节点之间包含循环,路径数应为FINITE,否则为INFINITE。
【问题讨论】:
-
我想你误读了 CLRS,你会引用关于从书中找到 O(n) 中所有路径的确切段落吗?
-
Saeed,恐怕我没看错。这是CLRS 3版第614,22.4.2页的练习题!