graph - 所有对最大流量

标签 graph max-flow network-flow

给定一个有向加权图,如何找到所有顶点对之间的最大流量(或最小边切割)。天真的方法是简单地调用像 Dinic 的 Max Flow 算法,其复杂度为 O((V^2)*E) ,对于每一对。
因此,对于所有对,它是 O((V^4)*E) .

是否可以将复杂性降低到 O((V^3)*E)或到 O(V^3)通过一些优化?

最佳答案

Gomory-胡树不适用于有向图 ,撇开这一点不说,Gomory-Hu Tree 将通过应用最小割来形成 Graph 最大流。

时间复杂度为:

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 树

关于graph - 所有对最大流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990689/

相关文章:

algorithm - 最大流量和一些条件

algorithm - 查找边不相交的路径(不是数字,而是路径)

algorithm - 最大化可调度作业数量的网络流方法

javascript - d3 有向图编辑器添加

r - 通过在 R 中注释使用来自 ggplot2 图形的默认填充颜色

networking - 你如何描述这种图表?

algorithm - 图论 - 全局最小割及其含义

algorithm - 通过在 Ford-Fulkerson 之后仅改变一个边缘来增加流量

用于关系可视化的javascript框架

java - Java中具有大量节点和边的最大流算法太慢