查找有向图中两个特定顶点之间的所有节点

时间:2014-09-08 22:35:59

标签: algorithm graph-theory

我正在寻找一种算法来查找有向图的两个特定节点之间的所有节点。例如,下图所示的节点“a”和“j”之间的节点是:

b c d e f g h i

P.S。图表是定向的,边缘是向上的(从下到上)。

enter image description here

1 个答案:

答案 0 :(得分:2)

您正在寻找起始节点可以到达节点并且该节点可以到达目标节点t的节点集。一种方法是从s执行DFS以查找从s可到达的所有节点,从t执行反向DFS以查找可以到达t的所有节点,然后获取这两个集合的交集。如果通过在节点本身中存储标记位来维护集合,则会以线性时间运行。

希望这有帮助!