lotusblume's blog

By lotusblume, 9 months ago, In English

Maximum flow algorithms are known to perform significantly better in practice than their worst-case time complexities would suggest. So in this blog, I will present graphs on which the following maximum flow algorithms actually achieve their worst-case running time:

Algorithm Time Complexity
Ford-Fulkerson with DFS $$$\mathcal{O}\big(m^2 \cdot U)$$$
Edmonds-Karp $$$\mathcal{O}\big(n \cdot m^2\big)$$$
Dinic $$$\mathcal{O}\big(n^2 \cdot m\big)$$$
DFS with Scaling $$$\mathcal{O}\big(m^2 \cdot \log(U)\big)$$$
Dinic with Scaling $$$\mathcal{O}\big(n \cdot m \cdot \log(U)\big)$$$
Most Improving Augmenting Paths $$$\mathcal{O}\big(m \cdot \log(U) \cdot (m + n \cdot \log(n))\big)$$$
FIFO Preflow Push $$$\mathcal{O}\big(n^3\big)$$$
Highest-Label Preflow Push $$$\mathcal{O}\big(n^2 \cdot \sqrt{m}\big)$$$

Here and in the rest of this blog:

  • $$$n =$$$ number of vertices,
  • $$$m =$$$ number of edges,
  • $$$U =$$$ maximum edge capacity.

Full text and comments »

  • Vote: I like it
  • +927
  • Vote: I do not like it