view docs/examples/algorithm-ford-fulkerson.pseudocode @ 282:90946f87d77d

Rename RE group "character" -> "characters"
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 20 May 2026 17:28:22 +0200
parents 4a8c122725b0
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}
PKC3[!n3 PyMuPDF-2f43e400f144/mupdf-source/thirdparty/READMEUTEhPKC3[`@>@ PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/.bazelignoreUTEhPKC3[lm'z ? PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/BUILD.bazelUTEhPKC3[ZnTN@ PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/CHANGELOG.mdUTEhPKC3[Q~2B PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/CMakeLists.txtUTEhPKC3[#v?aC PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/CONTRIBUTING.mdUTEhPKC3[9D<; K"PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/LICENSEUTEhPKC3[g7KQ? <%PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/MANIFEST.inUTEhPKC3[S: V&PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/READMEUTEhPKC3[BTdj= P(PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/README.mdUTEhPKC3[sh:? .0PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/SECURITY.mdUTEhPKC3[fmH p1PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/constants.cUTEhPKC3[8͌i~ KH U3PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/constants.hUTEhPKC3[?VF R?PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/context.cUTEhPKC3[) :F %CPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/context.hUTEhPKC3[mMz3I IPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/dictionary.cUTEhPKC3[I yPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/dictionary.hUTEhPKC3[*G PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/platform.cUTEhPKC3[ȝS"PG IPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/platform.hUTEhPKC3[\vhb DP PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/shared_dictionary.cUTEhPKC3[ƕem Y PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/shared_dictionary_internal.hUTEhPKC3[-0PP )H PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/transform.cUTEhPKC3[D# H PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/transform.hUTEhPKC3[eF *PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/common/version.hUTEhPKC3[MsF PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/bit_reader.cUTEhPKC3[jZ:F PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/bit_reader.hUTEhPKC3["wZB PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/decode.cUTEhPKC3[^ .C #qPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/huffman.cUTEhPKC3[S C }PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/huffman.hUTEhPKC3[i_} |{B 3PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/prefix.hUTEhPKC3[D A )PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/state.cUTEhPKC3[2=J1A PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/dec/state.hUTEhPKC3[IP #O mPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/backward_references.cUTEhPKC3[cPqO PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/backward_references.hUTEhPKC3[ `R ߯PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/backward_references_hq.cUTEhPKC3[“|R ~PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/backward_references_hq.hUTEhPKC3[` S PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/backward_references_inc.hUTEhPKC3[|wt-D PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/bit_cost.cUTEhPKC3[D PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/bit_cost.hUTEhPKC3[wm H PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/bit_cost_inc.hUTEhPKC3[ZA65qM PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/block_encoder_inc.hUTEhPKC3[Z@"J ^PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/block_splitter.cUTEhPKC3[B}RJ PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/block_splitter.hUTEhPKC3[`d~FIN PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/block_splitter_inc.hUTEhPKC3[\'>M k PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/brotli_bit_stream.cUTEhPKC3[>9 M 4PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/brotli_bit_stream.hUTEhPKC3[\C 9PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/cluster.cUTEhPKC3[C <PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/cluster.hUTEhPKC3[A_ 2.G ?PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/cluster_inc.hUTEhPKC3[C LPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/command.cUTEhPKC3[xD-C WNPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/command.hUTEhPKC3[MO VPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compound_dictionary.cUTEhPKC3[m O j_PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compound_dictionary.hUTEhPKC3[ M cPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compress_fragment.cUTEhPKC3[cCM 2PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compress_fragment.hUTEhPKC3[hrpM.jV VPyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compress_fragment_two_pass.cUTEhPKC3[֏? V 0PyMuPDF-2f43e400f144/mupdf-source/thirdparty/brotli/c/enc/compress_fragment_two_pass.hUTEhPK99L