summaryrefslogtreecommitdiff
path: root/graph/graph.tex
blob: 5982e5a5a8df4604cf78a15b011366e578fe2f6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
\section{Graphen}

\subsection{Kürzeste Wege}

\subsubsection{Algorithmus von \textsc{Dijkstra}}
Kürzeste Pfade in Graphen ohne negative Kanten.
\lstinputlisting{graph/dijkstra.cpp}

\subsubsection{\textsc{Bellmann-Ford}-Algorithmus}
Kürzestes Pfade in Graphen mit negativen Kanten. Erkennt negative Zyklen.
\lstinputlisting{graph/bellmannFord.cpp}

\subsection{Strongly Connected Components (\textsc{Tarjans}-Algorithmus)}
\lstinputlisting{graph/scc.cpp}

\subsection{Artikulationspunkte und Brücken}
\lstinputlisting{graph/articulationPoints.cpp}

\subsection{Eulertouren}
\begin{itemize}
	\item Zyklus existiert, wenn jeder Knoten geraden Grad hat (ungerichtet), bzw. bei jedem Knoten Ein- und Ausgangsgrad übereinstimmen (gerichtet).
	\item Pfad existiert, wenn alle bis auf (maximal) zwei Knoten geraden Grad haben (ungerichtet), bzw. bei allen Knoten bis auf zwei Ein- und Ausgangsgrad übereinstimmen, wobei einer eine Ausgangskante mehr hat (Startknoten) und einer eine Eingangskante mehr hat (Endknoten).
	\item \textbf{Je nach Aufgabenstellung überprüfen, wie isolierte Punkte interpretiert werden sollen.}
\end{itemize}

\subsection{Max-Flow (\textsc{Edmonds-Karp}-Algorithmus)}
\lstinputlisting{graph/edmondsKarp.cpp}