This commit is contained in:
joachimschmidt557 2019-03-24 21:00:27 +01:00
parent 3e5e48898f
commit 738e9c44fd

View file

@ -3,6 +3,7 @@
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
@ -17,11 +18,14 @@
\tableofcontents
\pagebreak
\section{Der Graph}
\subsection{Bildung der Kanten}
Der Algorithmus für die Bildung der Kanten ist folgender:
Der Algorithmus für die Bildung der Kanten ist eine
Version des \href{https://de.wikipedia.org/wiki/Algorithmus_von_Prim}{Algorithmus von Prim}:
\begin{algorithm}
\caption{Bildung von Kanten}\label{generate}
@ -30,12 +34,13 @@ Der Algorithmus für die Bildung der Kanten ist folgender:
\If{nodes is empty} return \EndIf
\State $castle \gets allCastles[0]$
\State $remainingCastles \gets allCastles$
\State $connectedCastles \gets empty$
\Loop
\If{$remainingCastles$ is empty} break
\EndIf
\State connect $castle$ to nearest castle
\State $castle \gets nearest castle$
\State remove $castle$ from $remainingCastles$
\State add $castle$ to $connectedCastles$
\EndLoop
\ForAll{castle in allCastles}
\ForAll{nearCastle in allCastlesInRadius(castle)}
@ -61,8 +66,8 @@ einer bestimmten Start-Burg an und verbindet diese Burg
mit der nächstliegenden Burg, die noch nicht verbunden
wurde. Daraufhin wird das gleiche mit der nächsten,
übernächsten, usw. Burg getan, bis die letzte Burg erreicht
wurde. Zu diesem Zeitpunkt sind alle Burgen durch eine
Linie verbunden.
wurde. Zu diesem Zeitpunkt sind alle Burgen durch einen
Graph verbunden.
Die Ästhetische Verbesserung erfolgt, indem alle Burgen
im Umkreis einer Burg durch eine Kante verbunden werden.
@ -127,6 +132,8 @@ werden der ArrayDeque \texttt{nextVisitNodes} hinzugefügt.
\subsection{Wege finden}
\subsubsection{Teil (a)}
Eine pseudocode-Darstellung des Algorithmus:
\begin{algorithm}
\caption{Berechnung der Distanzen}\label{path}
\begin{algorithmic}[1]
@ -150,6 +157,7 @@ werden der ArrayDeque \texttt{nextVisitNodes} hinzugefügt.
\end{algorithmic}
\end{algorithm}
Die algorithmische Komplexität im worst-case ist:
$$O(n^2)$$
@ -190,7 +198,7 @@ $$O(n)$$
Sei $n$ die Anzahl an Knoten.
Invariante: Nach $h \geq 0$ Durchläufen gilt:
\textbf{Invariante}: Nach $h \geq 0$ Durchläufen gilt:
\texttt{availableNodes}, die Liste von Knoten, die
noch nicht bearbeitet wurden enthält $n - h$ Elemente.
@ -199,10 +207,16 @@ 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}
\subsubsection{Teil (a)}
\subsubsection{Teil (b)}
\section{Weitergestaltung des Spiels}
\subsection{Computergegner}