view docs/algorithm-ford-fulkerson.pseudocode @ 120:ef68b3769be5

Convert/rename README.md to README.rst and enhance it considerably
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 06 May 2026 15:28:25 +0200
parents 9bfd87544902
children
line wrap: on
line source

// -*- coding: utf-8; indent-tabs-mode: nil -*-
\ALGORITHM{FordFulkerson} \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 {FordFulkerson}
PKP3[!n3 PyMuPDF-d77477b4e151/mupdf-source/thirdparty/READMEUT+hPKP3[`@>@ PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/.bazelignoreUT+hPKP3[lm'z ? PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/BUILD.bazelUT+hPKP3[ZnTN@ PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/CHANGELOG.mdUT+hPKP3[Q~2B PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/CMakeLists.txtUT+hPKP3[#v?aC PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/CONTRIBUTING.mdUT+hPKP3[9D<; K"PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/LICENSEUT+hPKP3[g7KQ? <%PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/MANIFEST.inUT+hPKP3[S: V&PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/READMEUT+hPKP3[BTdj= P(PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/README.mdUT+hPKP3[sh:? .0PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/SECURITY.mdUT+hPKP3[fmH p1PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/constants.cUT+hPKP3[8͌i~ KH U3PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/constants.hUT+hPKP3[?VF R?PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/context.cUT+hPKP3[) :F %CPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/context.hUT+hPKP3[mMz3I IPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/dictionary.cUT+hPKP3[I yPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/dictionary.hUT+hPKP3[*G PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/platform.cUT+hPKP3[ȝS"PG IPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/platform.hUT+hPKP3[\vhb DP PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/shared_dictionary.cUT+hPKP3[ƕem Y PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/shared_dictionary_internal.hUT+hPKP3[-0PP )H PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/transform.cUT+hPKP3[D# H PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/transform.hUT+hPKP3[eF *PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/common/version.hUT+hPKP3[MsF PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/bit_reader.cUT+hPKP3[jZ:F PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/bit_reader.hUT+hPKP3["wZB PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/decode.cUT+hPKP3[^ .C #qPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/huffman.cUT+hPKP3[S C }PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/huffman.hUT+hPKP3[i_} |{B 3PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/prefix.hUT+hPKP3[D A )PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/state.cUT+hPKP3[2=J1A PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/dec/state.hUT+hPKP3[IP #O mPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/backward_references.cUT+hPKP3[cPqO PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/backward_references.hUT+hPKP3[ `R ߯PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/backward_references_hq.cUT+hPKP3[“|R ~PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/backward_references_hq.hUT+hPKP3[` S PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/backward_references_inc.hUT+hPKP3[|wt-D PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/bit_cost.cUT+hPKP3[D PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/bit_cost.hUT+hPKP3[wm H PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/bit_cost_inc.hUT+hPKP3[ZA65qM PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/block_encoder_inc.hUT+hPKP3[Z@"J ^PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/block_splitter.cUT+hPKP3[B}RJ PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/block_splitter.hUT+hPKP3[`d~FIN PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/block_splitter_inc.hUT+hPKP3[\'>M k PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/brotli_bit_stream.cUT+hPKP3[>9 M 4PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/brotli_bit_stream.hUT+hPKP3[\C 9PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/cluster.cUT+hPKP3[C <PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/cluster.hUT+hPKP3[A_ 2.G ?PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/cluster_inc.hUT+hPKP3[C LPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/command.cUT+hPKP3[xD-C WNPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/command.hUT+hPKP3[MO VPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compound_dictionary.cUT+hPKP3[m O j_PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compound_dictionary.hUT+hPKP3[ M cPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compress_fragment.cUT+hPKP3[cCM 2PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compress_fragment.hUT+hPKP3[hrpM.jV VPyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compress_fragment_two_pass.cUT+hPKP3[֏? V 0PyMuPDF-d77477b4e151/mupdf-source/thirdparty/brotli/c/enc/compress_fragment_two_pass.hUT+hPK99L