修改forf fulkerson算法的bfs,找到扩充路径

时间:2012-07-04 17:56:14

标签: algorithm data-structures graph breadth-first-search ford-fulkerson

我正在使用bfs来查找扩充路径。但它每次都生成相同的路径。但是ford fulkerson算法要求我们每次从源到接收器选择不同的路径,所以有人可以建议我如何修改bfs以便它每次在源和接收器之间产生不同的路径。图是定向和加权的

1 个答案:

答案 0 :(得分:2)

您需要确保BFS忽略已使用所有容量的边缘。通常,BFS在所谓的剩余网络上运行,其中每个边缘容量表示该边缘上保持的容量(给定您发送的流量)通过那边缘)。您可以维护一个单独的残差图,也可以通过使BFS查看每个边的原始容量和当前流之间的差异(并且如果其容量为零则将边缘视为不存在)来保持隐式图。 / p>

相关问题