\documentclass{bschlangaul-aufgabe} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 7}, Thematik = {Kürzeste Kreise}, Referenz = 66115-2012-F.T1-A7, RelativerPfad = Examen/66115/2012/03/Thema-1/Aufgabe-7.tex, ZitatSchluessel = examen:66115:2012:03, BearbeitungsStand = nur Angabe, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Breitensuche}, EinzelpruefungsNr = 66115, Jahr = 2012, Monat = 03, ThemaNr = 1, AufgabeNr = 7, } Mit der Länge eines Pfads oder eines Kreises bezeichnen wir die Anzahl der Kanten, aus denen der Pfad bzw. der Kreis besteht. Bekanntlich kann man Breitensuche verwenden, um für zwei gegebene Knoten s und ? die Länge eines kürzesten s-t-Wegs zu berechnen. Im folgenden geht es um die Berechnung kürzester Kreise.\index{Breitensuche} \footcite{examen:66115:2012:03} \begin{enumerate} %% % a) %% \item Für einen Graphen G und einen Knoten v von G berechnet KK(G,v) (siehe Abbildung 1) die Länge des kürzesten Kreises in G, der durch v geht. Analysieren Sie die Laufzeit von KK in Abhängigkeit von der Anzahl n der Knoten von G, von der Anzahl m der Kanten von G und vom Grad deg(v) des übergebenen Knotens v. %% % b) %% \item Wenn man den Algorithmus KK für jeden Knoten eines Graphen G aufruft, kann man die Länge eines kürzesten Kreises in G berechnen. Welche Laufzeit hat der resultierende Algorithmus in in Abhängigkeit von n und m? %% % c) %% \item Geben Sie einen Algorithmus KKschnell(G, v) an, der in O(n +m) Zeit die Länge des kürzesten Kreises in G berechnet, der durch v geht. Argumentieren Sie, warum ihr Algorithmus korrekt ist. \end{enumerate} Abbildung 1 vum pam aba ee aan mn a sr lee KK(ungerichteter UNBEWICHLELEN rapı ıL= 2 Adi): ={weV | {v,w} € E} 8 foreach w € Adjlvj do 4 | Sei G’ der Graph G ohne die Kante {v, w}. 5 Sei £ die Länge eines kürzesten v-w-Wegs in G’. 6 if 2< L then 7 | Lex s return L \end{document}