Class MaximumFlowDinic

  • All Implemented Interfaces:
    MinimumEdgeCutSt, MaximumFlow

    public class MaximumFlowDinic
    extends MaximumFlowAbstractWithResidualNet
    Dinic's algorithm for maximum flow.

    The algorithm finds a maximum flow by repetitively finding a blocking flow in the residual network. It runs in \(O(m n^2)\) time and use linear space.

    Based on the paper 'Algorithm for solution of a problem of maximum flow in a network with power estimation' by Y. A. Dinitz (Dinic).

    Author:
    Barak Ugav
    See Also:
    Wikipedia
    • Constructor Detail

      • MaximumFlowDinic

        public MaximumFlowDinic()
        Create a new maximum flow algorithm object.

        Please prefer using MaximumFlow.newInstance() to get a default implementation for the MaximumFlow interface.