![]() |
|||
![]() |
|
Wir betrachten die Aufgabe
Finde alle Knoten, welche mit einem gegebenen Knoten v verbindbar sind.Sie ist die Basisaufgabe der algorithmischen Graphentheorie. Die Zusammenhangsaufgabe wird dabei mit gelöst. |
|
unser Ansatz |
Wir gehen von v aus auf 'Besuchtour': von einem Knoten über eine Kante zum nächsten. |
wichtig |
Um uns nicht im Kreis zu drehen, brauchen wir eine Systematik. |
Wir unterteilen die Knoten v in die Kategorien
|
|
![]() |
|
| Der folgende Algorithmus setzt die Idee um. Die besuchten Knoten werden markiert, die unerledigten Knoten werden zur Weiterbehandlung in einer Datenstruktur D 'gemerkt'. | |
Knoten suchen |
Algorithmus Durchlaufen
Eingabe: Graph G, Knoten v dieses Graphen
markiere alle Knoten als nicht besucht
|
| In welcher Reihenfolge man die Knoten 'besucht' hängt davon ab, wie in die Datenstruktur D eingefügt und aus ihr entnommen wird. | |
Breitensuche
|
|
![]() Knoten besuchen |
Hier kannst du Breiten- oder Tiefensuche
(Graph 6 ist der USA-Graph, eingeschränkt auf den Wilden Westen.) |
![]() alles klar? |
|
Beweis? |
Bis jetzt haben wir eher anschaulich motiviert, weshalb der Algorithmus 'Durchlaufen' wirklich
alle erreichbaren Knoten findet.
Eine auf der mathematischen Logik aufbauende strenge Beweisführung sieht anders aus. Einen diesem Anspruch genügenden Korrektheitsbeweis findest du auf dieser Nebenseite.
|
| Seite 6/12
|