给定一个有向带权图,如何找到所有顶点对之间的最大流量(或最小边割)。 朴素的方法是为每一对顶点调用一个最大流算法,如Dinic,其时间复杂度为O((V^2)*E)。因此,对于所有顶点对,时间复杂度为O((V^4)*E)。 是否可以通过优化将复杂度降低到O((V^3)*E)或O(V^3)呢?
Gomory-Hu树不能处理有向图,但是它可以通过最小割形成图的最大流量。时间复杂度为:O(|V|-1 * T(minimum-cut)) = O(|V|-1 * O(2|V|-2)) ~ O(|V|^2) * 使用最优的最小割算法 (最大流最小割规约) 这个示例说明了如何从给定的图中构建 Gomory-Hu 树