aufgabe 2a
This commit is contained in:
parent
7e1f3b4d0f
commit
7b1589c285
2 changed files with 33 additions and 0 deletions
Binary file not shown.
|
|
@ -1,8 +1,41 @@
|
||||||
\section{Matchings in allgemeinen Graphen}
|
\section{Matchings in allgemeinen Graphen}
|
||||||
\begin{tasks}
|
\begin{tasks}
|
||||||
\item
|
\item
|
||||||
|
|
||||||
|
\begin{pseudocode}
|
||||||
|
M = $\emptyset$
|
||||||
|
visited = Array von False der Größe $|V|$ // Markiert gematchte Knoten
|
||||||
|
|
||||||
|
for e in E do
|
||||||
|
if nicht visited[u] und nicht visited[v] then
|
||||||
|
M = $M \cup \{e\}$
|
||||||
|
visited[u] = True
|
||||||
|
visited[v] = True
|
||||||
|
|
||||||
|
return M
|
||||||
|
\end{pseudocode}
|
||||||
|
|
||||||
|
Angenommen M wäre erweiterbar (d.h. es gibt eine Kante \{u,v\} mit u,v $\notin$ V(M)). Dann wurden sowohl u als auch v während des Algorithmus beim Durchlaufen der Kante \{u,v\} als frei angesehen und wäre somit der Menge M hinzugefügt worden. Das ist eine Widerspruch. \\\\
|
||||||
|
\textbf{Laufzeit:} \\
|
||||||
|
Initialisierung des Arrays: $\Oh(V)$\\
|
||||||
|
Schleife: Jede Kante wird genau einmal betrachtet ($\Oh(V)$) und die Überprüfung und Markierung passieren in $\Oh(1)$. Also insgesamt $\Oh(E)$\\
|
||||||
|
Das ergibt eine Gesamtlaufzeit von $\Oh(V+E)$
|
||||||
|
|
||||||
|
\points{3}
|
||||||
\item
|
\item
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\points{3}
|
||||||
\item
|
\item
|
||||||
|
|
||||||
|
\points{2}
|
||||||
\item
|
\item
|
||||||
|
|
||||||
|
\points{3}
|
||||||
\item
|
\item
|
||||||
|
|
||||||
|
\points{2}
|
||||||
|
|
||||||
|
|
||||||
\end{tasks}
|
\end{tasks}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue