如何在有向图中的2个特定顶点之间的所有可能路径中找到顶点?

时间:2014-03-28 14:49:50

标签: algorithm graph

如何在有向图中的2个特定顶点之间找到所有可能路径中的公共顶点?存在至少一条路线是先决条件。

4 个答案:

答案 0 :(得分:1)

O(|V||E|)解决方案。 A B - 路线结束。

  1. 迭代所有顶点。
  2. 从图表中删除顶点。
  3. 检查路径是否存在于 A B (即使用DFS)
  4. 如果路径不存在 - 顶点对所有路径都是通用的。

答案 1 :(得分:0)

顶点在所有可能路径中的唯一方法是它是否是一个瓶颈' - 所有路径都经过它,因为它是唯一的出路。

您可以通过从图中删除每个顶点并测试图中是否仍存在路径来确定此集中的顶点。通过删除节点,您可以查看是否删除了从源到目标的所有可行路径。

答案 2 :(得分:0)

您可以制作Bellman-Ford的变体,用于检查顶点是否用于所有可能性。

答案 3 :(得分:-1)

采取所有可能路线的交叉点。