什么是确定有向图中两个节点的所有常见祖先的有效方法?

时间:2015-07-06 10:38:25

标签: graph directed-graph

G 成为有向图,可能包含周期,让 m n 成为此图中的两个节点。我有兴趣在 G 中查找 a 中的所有节点,以便有来自 a 的路径 - >> n 1 - > n 2 ... - > n 以及 a - > m 1 - > ... - > 。对于我的应用程序, a 节点的集合可以被认为是 n m 的共同祖先(周期和"我'我自己的爷爷"尽管如此。

我的第一个无智能的方法是在 n m 的前端边缘上执行深度优先搜索,遍历图形并收集所有访问过的节点(< EM> O(n)的)。然后我执行这两组( O(n))的交集,从而产生预期的 O(n)复杂性。

在实施之前,我想确保这是一种有效的方法。我的图可以有几十甚至几千个节点,虽然它们很稀疏,但算法需要足够快才能实现交互(即<0.1秒)。

0 个答案:

没有答案