如何判断边缘是否在某个路径上

时间:2017-01-31 16:38:28

标签: algorithm max-flow undirected-graph

给定无向图G = V,E,2个顶点:x,y和边e,

我想检查是否存在从x到y的包含给定边e的路径。

我的想法:通过定义一个网络流来解决这个问题,其中x和y是源和宿,并检查e中的流量是否大于0意味着存在路径。 但有两个问题:

  1. 我不知道如何指向边缘
  2. 每个边缘的容量是多少?
  3. 所以我猜这不是正确的方法......如果有人可以提出想法那就太棒了。

1 个答案:

答案 0 :(得分:1)

一种方法可能如下:

  1. 从E(G)移除边缘e =(u,v)。
  2. 如果任何x-y路径包含e,则路径将是以下两种形式之一:(1)x * - >你 - > v * - > y或(2)x * - > v - >你* - > y其中* - >意味着可达。使用此事实检查以下任一情况是否成立 2.1。 x可以从u到达,y可以从v到达。 2.2。 x可以从v到达,y可以从u到达。 我们可以使用BFS来查找可达性。