图检查三个节点之间是否存在路径

Graph check if path exist between three nodes

问题如下,我们必须找到从 A 到 C 的路径,该路径经过节点 B 或以下示例图 A-G-F-B-L-C.

现在使用 BFS 很容易实现从 A 到 C,但我不知道如何确保这条路径通过 B?

首先运行一个bfs到达中间节点,然后运行一个bfs从那个中间节点到你想要的目标节点。

'path' 你的意思可能是 'simple path' - 一条没有重复顶点的路径。

首先,确保A、B、C已连接。

存在 A-...-B-..-C 路径当且仅当:

  • 没有将 A、B 和 C 分成 3 个不同部分的切割顶点
  • A 不是将 B 和 C 分成不同分量的切割顶点
  • C 不是将 B 和 A 分成不同分量的切割顶点