Level graph

BFS from s. level[v] = shortest distance (in edges) from s. Use only edges (u,v) with level[v] = level[u] + 1.

Advertisement

Blocking flow

Flow such that every path from s to t in level graph is blocked (has saturated edge). Found via DFS.

Advertisement

Complexity

General: O(V²·E). Bipartite: O(E·√V) — Hopcroft-Karp bound. Unit capacities: O(E·√E).

Practical speed

Extremely fast in practice on typical graphs. Standard choice for max-flow.