Datenstrukturen III Flashcards
1
Q
Pfadsuchprobleme
A
Suche nach
- geschlossenem Pfad durch gegebene Knoten
- billigsten Pfad - “ -
- billigster Rundreise
2
Q
Eulerscher Pfad
A
- Pfad, der alle Kanten umfasst und jede genau einmal durchläuft
3
Q
Eulerscher Zyklus
A
- Eulerscher Pfad, bei dem Start- und Endknoten identisch sind
⇒ gdw. Grad jedes Knotens durch 2 teilbar ist und Graph zusammenhängend ist
4
Q
Hamiltonscher Zyklus/Kreis
A
- Zyklus, der jede Ecke genau einmal enthält
- komplexer als Eulerkreisproblem (O(m!))
5
Q
Kürzeste Pfade
A
- Pfadlänge durch Summe der Kantengewichte
- Dijkstra Algorithmus
- Bellman-Ford
6
Q
Dijkstras Algorithmus (1959) - Allgemeines
A
- basiert auf Greedy-Prinzip (immer das nächstbeste nehmend) und auf
- Weiterentwicklung der Breitensuche
- Iterative Vorgehensweise: Nehme immer die am “billigsten” zu erreichende Kante
7
Q
Dijkstras Algorithmus - Voraussetzngen
A
- Gerichtete Graphen; falls ungerichtet, ersetze jede Kante durch zwei gerichtete Kanten
- Positive Kantengewichte
- In gerichteten Graphen gilt, dass der kürzeste Pfad von v nach w der gleiche ist, wie der von w nach v.
8
Q
Dijkstras Algorithmus (1959) - Vorgehensweise
A
- Startknoten mit D(j)=0, Rest D(j)=∞
- Greedy-Prinzip
- wenn mehrere Knoten mit gleichem D(j), wähle Knoten mit kleinstem Index
⇒ nur bei positiven Kantengewichten
⇒ ermittelt nur die Distanz
9
Q
Bellman-Ford Algorithmus - Allgemeines
A
- Kürzeste Pfade zu allen anderen Knoten
- auch negative Kantengewichte
- negativer Zyklus → Algo terminiert nicht
10
Q
Bellman-Ford Algorithmus - Vorgehensweise
A
- Startknoten s, #Interationsschritte = |N| −1
- Startknoten mit D(j)=0, Rest D(j)=∞
- Ausgehend von s Betrachtung aller Pfade der Länge 1,2,…,|N|-1
- Pfade der Länge i werden in Iterationsschritt i betrachtet.
- nehme bei allen Pfade einer Länge kürzeste Weglänge zu Endstück
- Der längste Pfad ohne Zyklus hat maximal eine Länge von |N|-1
11
Q
Minimaler Spannbaum
A
- Gegeben: Ein ungerichteter Graph mit Kantengewichten
- Gesucht: Zusammenhängender Teilgraph, der alle Knoten enthält und Summe der Kantengewichte ist minimal
- Eigenschaft: Der gesuchte Teilgraph ist azyklisch → Baum
- Spannbaum (spannender Baum): Teilgraph in Form eines Baums, der alle Knoten des Graphen enthält
- Bsp.: Wassernetz
- Kruskal-Algorithmus
12
Q
Algorithmus von Kruskal
A
- für (min.) Spannbaum
- sortierten Kantenliste in aufsteigender Reihenfolge
- Kante = Lösung, wenn sie zwei verschiedene Bäume verbindet (keinen Zyklus enthält)
- nacheinander betrachten und entscheiden, ob Kante = Lösung
13
Q
Überprüfen, ob Pfad beliebiger Länge vorhanden ist, sodass zwei Elemente verbunden sind
A
⇒ Matrizenmultiplikation (u.U. wiederholen, aber maximal bis Knotenanzahl)