diff docs/examples/algorithm-ford-fulkerson.pseudocode @ 151:4a8c122725b0

Move all the example files to "examples/"
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 07 May 2026 16:12:15 +0200
parents docs/algorithm-ford-fulkerson.pseudocode@9bfd87544902
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/examples/algorithm-ford-fulkerson.pseudocode	Thu May 07 16:12:15 2026 +0200
@@ -0,0 +1,19 @@
+// -*- coding: utf-8; indent-tabs-mode: nil -*-
+\ALGORITHM{Ford–Fulkerson} \WITH
+  \INPUTS{Given a network \expr{G = (V, E)} with flow capacity \expr{c}, a source node \expr{s}, and a sink node \expr{t}}
+  \OUTPUT{Compute a flow \expr{f} from \expr{s} to \expr{t} of maximum value}
+\IS
+  \TEXT{1. \expr{f(u, v) \gets 0} for all edges \expr{(u, v)}
+
+  2. While there is a path \expr{p} from \expr{s} to \expr{t} in \expr{G_f},
+     such that \expr{c_f(u, v) > 0} for all edges \expr{(u, v) ∈ p}:
+
+     1. Find \expr{c_f(p) = min{c_f(u, v): (u, v) ∈ p\}}
+
+     2. For each edge \expr{(u, v) ∈ p}
+
+        1. \expr{f(u, v) \gets f(u, v) + c_f(p)}   \rem Send flow along the path
+
+	2. \expr{f(v, u) \gets f(v, u) - c_f(p)}   \rem The flow might be "returned" later
+}
+\END ALGORITHM {Ford–Fulkerson}