Durchläufe durch Graphen WS13-14
Inhaltsverzeichnis |
Einleitung
Für einen Graphendurchlauf bzw. das Durchsuchen eines Graphen gibt es viele Verfahren und Darstellungsmethoden, die vor allem die Basis für Graphenalgorithmen bilden. Beim Durchsuchen werden systematisch alle Kanten eines Graphen verfolgt und die Knoten aufgesucht. Wird ein Durchsuchungsalgorithmus auf einen Graphen angewandt, kann dieser Aufschluss über die Struktur dessen geben. Beispiele für solche Durchsuchungsalgorithmen sind die Tiefen- und Breitensuche, die in der Vorlesung zur Systematischen Suche schon kurz behandelt worden sind. Einfach weiterentwickelte Durchsuchungsalgorithmen werden als Graphenalgorithmen bezeichnet.
Hinweis: Obwohl es sich eigentlich um einen Graphendurchlauf handelt, wird der Begriff "Suche" häufiger benutzt, da er sich von den englischen Bezeichnungen DFS und BFS (depth-first search und breadth-first search) ableitet.
Breitensuche
Tiefensuche
DFS (G)
1 for alle Knoten u\in V[G]
2 \;\;\;\;\; do farbe[u] \leftarrow WEISS
3 \;\;\;\;\;\;\;\;\;\; \pi[u] \leftarrow NIL
4 zeit \leftarrow 0
5 for alle Knoten u\in V[G]
6 \;\;\;\;\; do if farbe[u] = WEISS
7 \;\;\;\;\;\;\;\;\;\; then DFS-VISIT(u)
DFS-VISIT (u)
1 farbe[u] \leftarrow GRAU \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; weißer Knoten u entdeckt
2 zeit \leftarrow zeit+1
3 d[u] \leftarrow zeit
4 for alle v \in Adj(u) \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; verfolge Kante (u,v)
5 \;\;\;\;\; do if farbe[v] = WEISS
6 \;\;\;\;\;\;\;\;\;\;\; then \pi[v] \leftarrow u
7 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; DFS-VISIT(v)
8 farbe[u] \leftarrow SCHWARZ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; u abgearbeitet
9 f[u] \leftarrow zeit \leftarrow zeit+1
Topologisches Sortieren
Starke Zusammenhangskomponenten
Übungen
Literaturverzeichnis
- Cormen, Thomas; Leiserson, Charles; Rivest, Ronald; Stein, Clifford: Algorithmen, eine Einführung; Oldenbourg Verlag, 2007
- Güting, Ralf Hartmut: Datenstrukturen und Algorithmen; B.G. Teubner Stuttgart, 1992
- http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/algds0506/handout2-9.pdf
- http://www.stormware-computer.de/script/kapitel_4_1.pdf
- http://whz-cms-10.zw.fh-zwickau.de/sibsc/lehre/ss10/ad/v13.pdf
- http://www.cs.hs-rm.de/~heimrich/Algorithmen%20&%20Datenstrukturen/Vorlesungen/vorlesung10.pdf