Class MaximumFlowEdmondsKarp

  • All Implemented Interfaces:
    MinimumEdgeCutSt, MaximumFlow

    public class MaximumFlowEdmondsKarp
    extends MaximumFlowAbstractWithoutResidualNet
    The Edmonds-Karp algorithm for maximum flow.

    The most known implementation that solve the maximum flow problem. It does so by finding augmenting paths from the source to the sink in the residual network, and saturating at least one edge in each path. This is a specification Ford–Fulkerson method, which chooses the shortest augmenting path in each iteration. It runs in \(O(m^2 n)\) time and linear space.

    Based on the paper 'Theoretical improvements in algorithmic efficiency for network flow problems' by Jack Edmonds and Richard M Karp.

    Author:
    Barak Ugav
    See Also:
    Wikipedia
    • Constructor Detail

      • MaximumFlowEdmondsKarp

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

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