• 最大流的算法小结 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­)

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

     



  • 相关阅读:
    多任务5-协程(IO密集型适用)--gevent完成多任务及monkey补丁
    多任务4---greenlet完成多任务
    多任务3(协程)--yield完成多任务交替执行
    生成器调试---send方式
    生成器调试
    生成器创建的两种方式
    列表生成方式-列表推导式
    迭代器应用场景1---斐波那契
    迭代器
    多任务案例--文件夹copy.py
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2138031.html
Copyright © 2020-2023  润新知