Warshall
• Was kann man mit dem Algorithmus von Warshall berechnen?
• Wie macht der Algorithmus das?
• Was bringt das?
Die transitive Hülle.
Hinzufügen der Kanten von Knoten auf deren Nachfolger.
Einfache Bestimmung, ob es eine Verbindung zwischen zwei Knoten gibt.
Warshall
Die transitive Hülle?
4
2 3 1
5
4
2 3 1
5
Warshall
Hinzufügen der Kanten von Knoten auf deren Nachfolger?
5 4 3 2 1
5 4
3 2
1
x x
x x
x
X X
4
2 3 1
5
X
Warshall
Hinzufügen der Kanten von Knoten auf deren Nachfolger?
5 4 3 2 1
5 4
3 2
1
x x
x x
x
X X
4
2 3 1
5
X
Warshall
Hinzufügen der Kanten von Knoten auf deren Nachfolger?
5 4 3 2 1
5 4
3 2
1
x x
x x
x
X X
4
2 3 1
5
X
Warshall
Hinzufügen der Kanten von Knoten auf deren Nachfolger?
5 4 3 2 1
5 4
3 2
1
x x
x x
x
X X
X X X 4
2 3 1
5
X X
Warshall
Hinzufügen der Kanten von Knoten auf deren Nachfolger?
5 4 3 2 1
5 4
3 2
1
x x
x x
x
X X
X X X 4
2 3 1
5
X X
Warshall
Einfache Bestimmung, ob es eine Verbindung zwischen zwei Knoten gibt.
Anwendung:
Erweiterung:
Routenplanung (kann man von A nach B?)
Gewichtete Kanten zur Bestimmung von Kosten (Entfernung, Zeit, …)
Serialisieren von Graphen
• Bringen Sie den Graphen in eine serielle Form.
Wurzelknoten 4
2 3 1
5
Serialisieren von Graphen
1, 5 -1 2, 2 3, 0 5, 0 -3 4, 5 -1 -2 -3 -4 -5 -5 Wurzelknoten
4
2 3 1
5
Knotennummer Anzahl Kinder
Negative
Knotennummern zeigen bereits
serialisierte Knoten an