zoukankan      html  css  js  c++  java
  • 最大流的算法小结 Algorithm for Maximum Flow

    【转】

    ————————————————————————————

    算法名称

    复杂度

    概要

    增广路方法

    Augmenting path method (Ford Fulkerson method)

    一般增广路算法

    Labeling algorithm

    O(nmU)

    在残留网络中,每次任意找一条增广路径增广。

    容量缩放增广路算法

    Capacity scaling algorithm

    O(nm logU)

    在残留网络中,每次找一条有最大可增广容量和的增广路径增广,即残留网络中源到汇的最长路。

    最短增广路算法

    Shortest augmenting path

    algorithm (Edmonds Karp

    algorithm)

    O(nm­­2­)

    在残留网络中,每次找一条含结点数最少的增广路增广,即残留网络中源到汇的BFS 路径。

    连续最短增广路算法

    Successive shortest

    augmenting path algorithm

    (Dinic algorithm)

    O(n­­2­m)

    Edmonds Karp 的基础上改造。在每次BFS 找增广路时,记录每个点的距离标号。在距离标号的所构成的最短路图上,不断地 DFS找增广路。即一次标号多次增广,以提高速度。

    预流推进方法

    Preflow-push method

    一般预流推进算法

    Generic preflow-push

    algorithm

    O(n­­2­m)

    维护一个预流,不断地对活跃结点执行push操作或relabel操作来调整这个预流,直到不能操作。

    先进先出预流推进算法

    FIFO preflow-push algorithm

    O(n­­3­)

    以先进先出队列维护活跃结点。

    最高标号预流推进算法

    Highest-label preflow-push

    algorithm (Relabel-to-Front

    algorithm)

    O(n­­2­m­­1/2­)

    每次检查具有最高标号的活跃结点。

     



  • 相关阅读:
    学习进度条
    学期总结
    实验四主存空间的分配和回收
    学术诚信与职业道德
    《构建之法》第8,9,10章 读后感
    实验三 进程调度模拟程序
    团队项目:学习四则运算,团队准备 3.0
    团队项目:学习四则运算,团队准备 2.0
    "数学口袋精灵"bug(团队)
    实验二作业调度模拟程序
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2138031.html
Copyright © 2011-2022 走看看