给定有向加权图,如何在所有顶点对之间找到最大流(或最小边缘切割)。
天真的方法很简单为每对调用像Dinic一样的 Max Flow 算法,其复杂度为O((V^2)*E)
。
因此,对于所有对,它是O((V^4)*E)
。
是否可以通过某些优化将复杂性降低到O((V^3)*E)
或O(V^3)
?
答案 0 :(得分:3)
Gomory-Hu Tree 不适用于有向图,将此放在一边,Gomory-Hu Tree将通过应用最小割数形成图表最大流量。
时间复杂度是:
O(|V|-1 * T(minimum-cut)) = O(|V|-1 * O(2|V|-2)) ~ O(|V|^2)
*使用最佳minimum-cut算法(Max-Flow Min-Cut Reduction)
这个example说明了Gomory-Hu树是如何从给定的图形构建的
答案 1 :(得分:2)
Gomory-Hu树不适用于有向加权图。
在有向图上运行n ^ 2个最大流量是否存在解算所有对最大流量的算法是一个悬而未决的问题。