Sor-alapú Bellman-Ford algoritmus (Queue-based Bellman-Ford algorithm)

Animáció

Struktogram

$QueueBasedBellmanFord(G : \mathcal{G}_{w};s : \mathcal{V})$

$\forall u \in G.V$
$d(u) := \infty$
$\pi(u):=\emptyset$
$inQ(u) := false$
$d(s) := 0; e(s) = 0$
$Q : Queue$
$Q.add(s)$
$[inQ(s) := true]$
$\lnot Q.isEmpty()$
$u := Q.rem()$
$inQ(u) := false$
$\forall v \in G.A(u) \land d(v) > d(u) + G.w(u,v)$
$d(v) := d(u) + G.w(u,v); e(v) = e(u) + 1$
$\pi(v) := u$

$\lnot inQ(v)$

$Q.add(v)$ $\text{SKIP}$
$inQ(v) := true$

Feladatok