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}{} \Procedure{run}{}
\State $v \gets$ getSmallestNode() \State $v \gets$ getSmallestNode()
\Loop \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()$ \State $v \gets getSmallestNode()$
\EndLoop \EndLoop
\EndProcedure \EndProcedure
@ -162,13 +172,28 @@ Datenstruktur, die bereits nach der Größe sortiert ist,
damit bei dem Zugriff auf das kleinste Element nur ein damit bei dem Zugriff auf das kleinste Element nur ein
Schritt erforderlich ist. 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) = $$ $$O(n) = $$
\subsubsection{Teil (c)} \subsubsection{Teil (c)}
Sei $n$ die Anzahl an Knoten.
Invariante: Nach $h \geq 0$ Durchläufen gilt: 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} \subsection{Kürzester Pfad zu allen Knoten}