29.12.2013 Aufrufe

Datenstrukturen und Algorithmen -

Datenstrukturen und Algorithmen -

Datenstrukturen und Algorithmen -

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Minimaler Spannbaum – Beispiel<br />

Minimaler Spannbaum – Beispiel<br />

A<br />

6<br />

C<br />

5<br />

4<br />

F<br />

9<br />

G<br />

A<br />

6<br />

C<br />

5<br />

4<br />

F<br />

9<br />

G<br />

14<br />

10<br />

2<br />

14<br />

10<br />

2<br />

B<br />

3<br />

8<br />

E<br />

15<br />

H<br />

B<br />

3<br />

8<br />

E<br />

15<br />

H<br />

D<br />

D<br />

Was ist ein minimale Spannbaum?<br />

Das ist ein minimale Spannbaum (mit Gesamtgewicht 46).<br />

In diesem Fall ist es auch der einzige.<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 9/21<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 10/21<br />

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Minimale Spannbäume<br />

Tiefen- oder Breitensuche?<br />

A<br />

B<br />

14<br />

6<br />

10<br />

3<br />

C<br />

5<br />

D<br />

8<br />

4<br />

2<br />

F<br />

E<br />

9<br />

15<br />

Tiefensuchbaum (von A gestartet)<br />

Gesamtgewicht: 55<br />

G<br />

H<br />

A<br />

B<br />

14<br />

6<br />

10<br />

3<br />

C<br />

5<br />

D<br />

8<br />

4<br />

2<br />

F<br />

E<br />

9<br />

15<br />

Breitensuchbaum (von A gestartet)<br />

Gesamtgewicht: 67<br />

Der Tiefensuchbaum <strong>und</strong> der Breitensuchbaum sind zwar Spannbäume,<br />

aber nicht notwendigerweise MSTs.<br />

G<br />

H<br />

Der Algorithmus von Prim – Übersicht<br />

Wir ordnen die Knoten in drei Kategorien (BLACK, GRAY, WHITE) ein:<br />

Baum-knoten: Knoten, die Teil vom bis jetzt konstruierten Baum sind.<br />

Rand-knoten: Nicht im Baum, jedoch adjazent zu Knoten im Baum.<br />

Ungesehene Knoten: Alle anderen Knoten.<br />

Gr<strong>und</strong>konzept:<br />

◮ Fange mit einen Baum aus nur einem Knoten an, indem ein beliebiger<br />

Knoten des Graphens ausgewählt wird.<br />

◮ Finde die günstigste Kante (d. h. mit minimalem Gewicht), die den<br />

bisherigen Baum verlässt.<br />

◮ Füge den über diese Kante erreichten (Rand-)Knoten dem Baum<br />

hinzu, zusammen mit der Kante.<br />

◮ Fahre fort, bis keine weiteren Randknoten mehr vorhanden sind.<br />

Ist das korrekt? Und wenn, was ist die Komplexität?<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 11/21<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 12/21

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!