Mehr dokumentation wip

This commit is contained in:
joachimschmidt557 2019-03-20 13:16:25 +01:00
parent 060d1be369
commit 7597e0faed

View file

@ -137,7 +137,17 @@ werden der ArrayDeque \texttt{nextVisitNodes} hinzugefügt.
\Procedure{run}{}
\State $v \gets$ getSmallestNode()
\Loop
\If{$v$ is null} break \EndIf
\If{$v$ is null} \Return \EndIf
\ForAll{edges}
\If{edge is passable}
\State $n \gets$ otherNode
\State $a \gets$ v.value + edge.value
\If{n.value = -1 or n.value > a}
\State n.value $\gets$ a
\State n.previous $\gets$ v
\EndIf
\EndIf
\EndFor
\State $v \gets getSmallestNode()$
\EndLoop
\EndProcedure
@ -162,13 +172,28 @@ Datenstruktur, die bereits nach der Größe sortiert ist,
damit bei dem Zugriff auf das kleinste Element nur ein
Schritt erforderlich ist.
Ein Beispiel dafür ist die \texttt{PriorityQueue},
die wir in Hausübung 8 implementiert haben. Dort werden
Elemente beim Einfügen bereits sortiert, sodass der
Zugriff auf das (in diesem Fall) kleinste Element
in $O(1)$, also konstanter Zeit, gemacht werden kann.
$$O(n) = $$
\subsubsection{Teil (c)}
Sei $n$ die Anzahl an Knoten.
Invariante: Nach $h \geq 0$ Durchläufen gilt:
\texttt{availableNodes}, die Liste von Knoten, die
noch nicht bearbeitet wurden enthält $n - h$ Elemente.
Diese Knoten sind alle Knoten ohne die $h$ kleinsten
Knoten, also alle $n - h$ größten Knoten.
Für alle noch nicht abgearbeiteten Knoten gilt:
Für alle abgearbeiteten Knoten gilt:
\subsection{Kürzester Pfad zu allen Knoten}