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

Algorithm 图表检查三个节点之间是否存在路径,algorithm,graph,graph-algorithm,Algorithm,Graph,Graph Algorithm,问题在于,我们必须找到从A到C的路径,该路径通过节点B,或者下面的示例图A-G-F-B-L-C 现在使用BFS实现从A到C很容易,但我不知道如何确保该路径通过B?首先运行BFS到达中间节点,然后从该中间节点运行BFS到所需的目标节点 所谓“路径”,您可能指的是“简单路径”——没有重复顶点的路径 首先,确保A、B和C已连接 存在A-…-B-…-C路径: 没有将A、B和C拆分为3个不同组件的切割顶点 A不是将B和C拆分为不同组件的切割顶点 C不是将B和a拆分为不同组件的切割顶点 否。这两条路径可能

问题在于,我们必须找到从A到C的路径,该路径通过节点B,或者下面的示例图A-G-F-B-L-C


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

首先运行BFS到达中间节点,然后从该中间节点运行BFS到所需的目标节点

所谓“路径”,您可能指的是“简单路径”——没有重复顶点的路径

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

存在A-…-B-…-C路径:

  • 没有将A、B和C拆分为3个不同组件的切割顶点
  • A不是将B和C拆分为不同组件的切割顶点
  • C不是将B和a拆分为不同组件的切割顶点

否。这两条路径可能包含B旁边的公共顶点。@LiorKogan只需保留您访问的节点列表then@fafl:还是不好。BFS算法中不同的顶点排序可能会给出不同的结果。@LiorKogan,请问,在问题中,您发现了与B之间的路径不能有其他公共顶点的限制吗?@Gangnus:引用维基百科:在图论中,图中的路径是一个有限或无限的边序列,这些边连接一系列顶点,根据大多数定义,这些顶点彼此不同。你的图是有方向的吗?我们需要找一条简单的路吗?@DAle:谢谢。回答修改了。@LiorKogan但你实际上是如何找到路径的?@fafl:那是另一个问题;-)。OP只要求验证算法。