Edmonds–Karp algorithm

This is an old revision of this page, as edited by 64.172.56.97 (talk) at 04:03, 22 October 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science and graph theory, the Edmonds-Karp algorithm is an implementation of the Ford-Fulkerson method for computing the maximum flow in a flow network. The distinguishing feature is that the shortest augmenting path is used at each step, which guarantees that the computation will terminate. In most implementations, the shortest augmenting path is found using a breadth-first search.

The Edmonds-Karp algorithm runs in O(VE2) time, where V is the number of vertices and E is the number of edges in the network.

An algorithm of Yefim Dinic for the same problem was published in 1970 and has better complexity: O(V4). "An algorithm for the solution of the max-flow problem with the polynomial estimation." Dokl. Akad. Nauk SSSR 194 (1970), no.4 (in Russian); English transl.: Soviet Math. Dokl. 11 (1970), 1277-1280.

The Edmonds-Karp algorithm was elucidated in the 1972 paper "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems," by Jack Edmonds and Richard Karp, in the Journal of the ACM.

The 1972 paper in PDF format, at the JACM Web site