Ford-Fulkerson算法
利用Residual Graph来让一个有向图中的网络流,在由A流向B之后,还能产生一条虚拟的路径(Augmenting Path),能够使那些流量能够回流。如此循环地找源节点s流向终点t的路径,直到找不到这样的路径为止。
Ford-Fulkerson算法及改进后算法的效率
Ford-Fulkerson算法对于Augmenting Path的选择,直接影响到其执行效率。例如,一条容量较小的边之中的流反复改变方向的问题。如果用C来表示源节点s的所有边的最大容量,m表示图中边的总数,传统Ford-Fulkerson算法的时间复杂度为:O(mC)。
通常m的值不会很大,但C的值有可能非常大。这时如果要改进算法的效率,可以使用一个scaling parameter,令其值为不超过s最大边容量的2的幂积。改进后的算法称之为Scaling Max-Flow