' Realz.-Bs WS02/03 $ 1. Grundbegriffe • Allgemeiner Graph ◦ Knotenmenge V (nicht leer) ◦ Linienmenge L = E ∪ A (Inzidentpunkte) E Kanten (Inzidenzpunkte) A Bögen (Startpunkt, Zielpunkt) ◦ Schlingen, Mehrfachlinien, Mehrfachkanten, Mehrfachbögen ◦ ungerichteter Graph, gerichteter Graph (Digraph) ◦ Grad eines Knotens ◦ Handschlaglemma: Die Anzahl Knoten ungeraden Grades ist gerade. • Untergraph H: Untermenge von V 0 von Knoten, Untermengen E 0 , A0 von Kanten und Bögen. ◦ Die Inzidenzpunkte der Linien müssen zu V 0 gehören. ◦ G[V 0 ] ist der von der Knotenmenge V 0 erzeugte Untergraph von G. G[L0 ] ist der von der Linienmenge L0 erzeugte Untergraph von G. • Orientierungsklassen. Umorientierung. Orientierung. Desorientierung. Vollständige Orientierung. Vollsändige Desorientierung. & G.Stiege 01.01 UniOL GuN % ' Realz.-Bs WS02/03 $ 2. Darstellungen • Darstellung durch Matrizen ◦ Adjazenzmatrizen (Zeilen: Knoten; Spalten: Knoten) quadratische Matrizen ◦ Inzidenzmatrizen (Zeilen: Linien, Spalten: Knoten) Rechtecksmatrizen • Darstellung durch Listen ◦ Adjazenzlisten ◦ Inzidenzlisten • Listen oft durch Binärbäume realisiert & G.Stiege 02.01 UniOL GuN % ' Realz.-Bs WS02/03 $ UniOL GuN % 2. Darstellungen ... ... B .........r ..r..................................... .........r ..r.................................. .........r r ... ... ... ... .. ......... ........ ... ....... .. ........ ... E .........r r ... ... ... ... .. ......... ........ ... rr C .. ....................................... .. ... .. ... .......... ....... ... A .........r r ... ... ... ... .. ....... .. ........ ... A ....... .. ........ ... C rr rr .. .. ...................................... .. ................................... .. ... ... .. .. ... .. . . ........ .......... ....... ........ .. .. . B C ....... .. ........ ... ....... .. ........ ... ... ... ... ... ... C .........r ..r..................................... .........r ..r.................................. .........r ..r.................................. .........r ..r.................................. .........r ..r.................................. .........r r ... ... ... ... .. ......... ........ ... F .........r r ... ... ... ... .. ....... .. ........ .. F rr D rr ....... .. ........ ... A ....... .. ....... ... E ....... .. ....... ... B .. .. ....................................... .. .................................... .. ... ... .. .. ... ... . . ........ .......... ....... ........ ... .. D r r C rr D rr .. .. ...................................... .. .................................... ... ... .. .. ... .. .. . ......... .......... ......... ....... .. .. C F Adjazenlistendarstellung von Graph G1 & G.Stiege 02.02 ' Realz.-Bs WS02/03 $ 2. Darstellungen ... ... B .........r ..r...................................... .........r ..r................................... .........r r ... ... ... ... .. ......... ........ ... .......... ...... ... E .........r r ... ... ... ... .. ....... .. ........ .. h rr ... ... ... ... .. ....... .. ........ .. .......... ...... ... F .........r r ... ... ... ... .. ....... .. ........ ... rr r r ....r g r r ....r h r r ....r i r r ....r j r r r k ... ... ... ... . . .......... .......... . ....... ....... .. .. ....... .. ........ ... e ... ... ... ... ... C .........r ..r...................................... .........r ..r................................... .........r ..r.................................. .........r ..r................................... .........r ..r................................... .........r r j f BC ... ... A .........r ..r..................................... .........r ..r.................................. .........r r h r r ....r ... ... ... ... .. .. .......... .......... ........ ....... ... .. k ....... .. ....... ... e AC f .. ...................................... .. ... .. .. . ......... ...... ... ... ... ... ... .. ......... ........ ... r r ....r ... .. ... ... .. .. ....... .. ....... .. ......... ........ ... .. .......... ....... ... .......... ....... ... g rr .......... ....... ... e .......... ....... ... k .......... ....... ... f .. .. ...................................... .. .................................... .. ... ... .. .. ... .. .. ........ .......... ...... ........ ... .. CD ... .. ... ... .. .. ....... .. ....... .. ......... ........ ... .. AB .. . ... ... ... ... .......... .......... ........ ....... ... .. j i DF .......... ...... ... .......... ........ .. .. .. ... .... ... . .......... .......... ........ ....... .. .. ... ... D r ..r..................................... ........r ..r.................................. ........r r g CF i .. ... ... ... ... . ....... .. ........ .. ......... ....... ... .. ... ... ... ... ... ... ......... ......... .. ... ... ... ... ... ... ......... ......... .. ... ... ... ... ... ... ....... .. ......... .. ... ... ... ... ... ... ......... ......... .. ... ... ... ... ... ... ......... ......... .. .. ... ... ... ... ... . ....... .. ......... .. CE Inzidenzlistendarstellung von Graph G1 & G.Stiege 02.03 UniOL GuN % ' Realz.-Bs $ WS02/03 2. Darstellungen GRAPH Bögen Kanten ? VERTEX ? ? ? INC INC INC ? ? ? EDGE EDGE EDGE Kanten Ausgangsbögen Eingangsbögen ? ? EDGE EDGE ? ? VERTEX VERTEX Endpunkt Endpunkt ? VERTEX ? VERTEX Startpunkt Zielpunkt Schema für Graphdarstellungen durch Inzidenzlisten & G.Stiege 02.04 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang a-Wege (any) v0 , l1 , v1 , . . . vn−1 , ln , vn mit n ≥ 1 li ist eine Linie. vi−1 ist ein Inzidenzpunkt von li ; vi ist der andere Inzidenzpunkt. f-Wege (forward) Wie bei a-Wegen. Zusätzlich: Ist li ein Bogen, so ist vi−1 sein Startpunkt und vi sein Zielpunkt. b-Wege (backward) Wie bei a-Wegen. Zusätzlich: Ist li ein Bogen, so ist vi sein Startpunkt und vi−1 sein Zielpunkt. Wege haben immer eine Richtung, nämlich von v0 nach vn 1. Offene Wege, geschlossenen Wege 2. Einfache Wege 3. Linieneinfache Wege Satz: Alle offenen einfachen Wege sind linieneinfach. Mit einer einzigen Ausnahme sind alle geschlossenen einfachen Wege linieneinfach. Ausnahme: Wege vom Typ u, l, v, l, u. a-Kreis: Geschlossener einfacher und linieneinfacher a-Weg. f-Kreis: Geschlossener einfacher und linieneinfacher f-Weg. & G.Stiege 03.01 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang • a-Erreichbarkeit • f-Erreichbarkeit • b-Erreichbarkeit Ein isolierter Knoten ist von keinem Knoten a-erreichbar. Ein Knoten, der von sich selbst nicht f-erreichbar ist, heißt Knoten ohne Rückkehr. Satz: a-Erreichbarkeit ist eine Äquivalenzrelation auf der Menge der nicht isolierten Knoten. Gegenseitige f-Erreichbarkeit ist eine Äquivalenzrelation auf der Menge der Knoten mit Rückkehr. Schwache Zusammenhangskomponenten Die Untergraphen, die durch die Äquivalenzklassen von a-Erreichbarkeit erzeugt werden. Starke Zusammenhangskomponenten Die Untergraphen, die durch die Äquivalenklassen gegenseitiger f-Erreichbarkeit erzeugt werden. Jede starke Zusamenhangskomponente ist Untergraph einer schwachen Zusammenhangskomponente. Jede Kante gehört zu einer starken Zusammenhangskomponente. Satz: Ein allgemeiner Graph besitzt genau dann keine starken Zusammenhangskomponenten, wenn es ein f-kreisfreier Digraph ist. Dag (directed acyclic grapha): Allgemeiner Graph ohne starke Zusammenhangskomponenten. Wird auch Präzedenzgraph genannt. & G.Stiege 03.02 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang Schnittpunkt: Ein Knoten eines allgemeine Graphen ist ein Schnittpunkt, wenn seine Entfernung aus dem Graphen zusammen mit allen mit ihm inzidierenden Linien die Zahl der (eigentlichen oder uneigentlichen) schwachen Zusammenhangskomponenten erhöht. Satz: Ein Knoten v eines allgemeinen Graphen ist genau dann ein Schnittpunkt, wenn es Knoten u und w gibt, die von v und untereinander verschieden sind und für die gilt: 1. Jeder a-Weg von u nach w führt über v und 2. es gibt einen solchen a-Weg. Brücke: Eine Brücke eines allgemeinen Graphen ist eine Linie, deren Entfernung aus dem Graphen die Zahl der (eigentlichen und uneigentlichen) schwachen Zusammenhangskomponenten erhöht. Satz: Eine Linie eines allgemeinen Graphen ist genau dann eine Brücke, wenn sie auf einem a-Kreis liegt. & G.Stiege 03.03 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang Externer Dag: In einem schwach zusammenhängenden allgemeinen Graphen erzeugen die Bögen, die zu keiner starken Zusammenhangskomponente gehören, einen f-kreisfreien gerichteten Untergraphen. Er wird der externe Dag des allgemeinen Graphen genannt. Der externe Dag braucht nicht schwach zusammenhängend zu sein. Er kann auch ganz fehlen. Alle Knoten ohne Rückkehr gehören zum externen Dag. Darüber hinaus kann es Knoten geben, die sowohl zum externen Dag als auch zu einer starken Zusammenhangskomponente gehören. Sie werden schwache Verheftungspunkte genannt. In einem schwach zusammenhängenden Graphen mit mehreren starken Zusammenhangskomponenten gibt es mindestens zwei schwache Verheftungspunkte. Satz: Jeder Bogen einer starken Zusammenhangskomponente liegt auf einem f-Kreis. Satz: Eine starke Zusammenhangskomponente ist genau dann f-kreisfrei, wenn sie ungerichtet ist und keinen a-Kreis enthält. Satz: Eine Kante einer starken Zusammenhangskomponente liegt genau dann auf einem f-Kreis, wenn sie auf einem a-Kreis liegt, der ganz in der starken Zusammenhangskomponente veräuft. & G.Stiege 03.04 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang Schichtennummern Es sei C(v) die starke Komponente, zu der der Knoten v gehört. Falls v ein Knoten ohne Rückkehr ist, sei C(v) der Untergraph der nur aus v besteht. Satz: Ist C(u) 6= C(v) und u von v f-erreichbar, dann sind alle u0 ∈ C(u) von allen v 0 ∈ C(v) f-erreichbar und kein v 0 ∈ C(v) ist von irgendeinem u0 ∈ C(u) f-erreichbar. Damit läßt sich durch C(v) ≺ C(u) := C(v) 6= C(u) und u ist von v f-erreichbar eine strikte partielle Ordnung auf der Menge der Klassen C(x) definieren. Wie bei allen strikt partiell geordneten endlichen Mengen, läßt sich auch auf den Klassen C(x) eine Nummer definieren, die mit der Ordnung verträglich ist. Diese Nummer soll Schichtenummer heißen und wird mit lv(C(v)) bezeichnet: 1. Hat C(v) bezüglich ≺ keine Vorgänger, so wird lv(C(v)) := 0 gesetzt. 2. Sind alle Vorgänger von C(v) nummeriert, so wird lv(C(v)) := max lv(C(u)) + 1 gesetzt. C(u)≺C(v) Allen Knoten einer Klasse wird die Schichtennummer der Klasse zugeteilt. Eine Klasse heißt Anfangselement, wenn sie keine Vorgänger hat. Sie heißt Endelement, wenn sie keine Nachfolger hat. Anfangselemente haben die Schichtennummer 0, Endelemente haben i.a. verschiedene Schichtenummern. Die Schichtennummer entspricht der maximalen Länge einer Vorgängerkette. Satz: 1. Beim Durchlaufen eines f-Weges kann die Schichtennummer nicht fallen. Sie wächst genau dann, wenn ein Bogen des externen Dags durchlaufen wird. 2. Beim Durchlaufen eines a-Weges ändert sich die Schichtennummer genau dann, wenn ein Bogen des externen Dags durchlaufen wird. Sie wächst, wenn der Bogen in f-Richtung durchlaufen wird. Sie fällt, wenn der Bogen in b-Richtung durchlaufen wird. & G.Stiege 03.05 UniOL GuN % ' Realz.-Bs WS02/03 $ 3. Wege und Zusammenhang ......... .................. ....................... ........ ............. ........ ..... ...... .... ..... .... ... ... .... ... ... ... ... ... ... ... .. .. . . . .. . ..... . . ... .. .. ................................................................................................................................................. ... ............................................................................ . .. ...... .... .. .. .. ... . . ... ... .. . ... . .. . . . . ... ..................... . .... . . . . . . . . . . . . . . . . ...... . ...... ...... ......... ...................................... ........................ ..... ................... ... ....... ............... ............... ...... ....... ...................... ... .. . ....... .... ............ ... .......... .. .. ........ .... . . . . . . . . . . ... ... .. .. .. .... ... .. ... ... .. ... .. ... ... ... .... ... .. .. .. ... .... ... .. .. .. . . . . .. . . . ... . .. ....................... . . ... . . . . . ... ... . .. . ...... ....... . . . . . . . . . . . . . . . . . . ... . ................ . . ........... .... . . . . . . . . . . . . . . . . ............................ ........................ .... . ........................... . . . ............................. . . . . . . . . . . . . . . . . . . . . . .... .... .... ... ......... ... .. ... . . . . .... ... . . . . . . . . ... ... ... . . . .. . . . . . . . .... .. .. .. .. . .. . ........................................................................... .. .. .... .... .... . . . . . . . . . ... . . . . ... ... ... ... . . . .. . . . . . . . ... ... ... ... .. . . . .. ...... . . .... . . . . . . . . . . . . . . ..... ..... ... ......... ...... ..... .... .... ......... ............. ......... .............. .............................. ............... .............................. ........................... ................ ............................... ........ ........ .......... ......... .... ..... ............. .. ... ... . ... .. ....... ..... .. .. ... . .. . . ... .. . . . . . ... ... ............ ... ... . . ... . ... .. . ... . ...................................................................... . . . . . .... ... .. ... . ... ............. . ... ... .. . . . . .. . ......... ......... . . . . . ... .... . . . . . ... . . . . . ...... .... ... ... ... .. ........... ... ........ . . . . . . . . . . . . . . . . . . . ... . . . ....... ............... .. ... ............... ..................... ... . . ... ........ ........ . . . . ... . . ....... . . . ....... ...... .... . . . . . . . . ................ . . . . ................. . . . . . . . . . . . . . ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... ...... ..... ..... .. ......... ..... .. ... ... . . . . ..... . . . . . . . . . . . . . . . . . . . . ... . ....... . ... ... ................... . . . .. . . . . ... . . . . . . ... .. ... . .. .. .... . .. ....... ... .. ....... .... .. .. ... ........................................................................ .... ................................... . . . . .. . .. .. ... . . . .. . .. . . . . . ... ... ... . . ... . .. . . . . . . . . . . . . .... ... .... .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... ....... ............... ............................ ....... ................ ............................ ...................... ..................... ... . .... .. .. . .... .... . ........ .... .... . .... ... .... ... .... ......... .... ... ... . . . .... . . . . . ... .. ..... . .. . . . . ... . . . . . . . . .... ....... .. . .. ... .... . . . . . . . . . ....... .......... . .. . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................. ...... ...... ......... ......... . ..... ..... ..... . . . . . . . . . . . . . . . . . . . . . . ..... ... ... ... ... . .. .. .. . ... . . . . . ... . . . . . . . ... ... ... ... . . . . . . . . ... . ..... . . . . . ... .. .. ... .................................................................... ... .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... ... ... ... . . . ... .. . . . .. ... . . . . . ... ... ... ... . . . . . . . . . . ... . . . . . . . ... ... ... ... . . . . .. . . . . . . ... . ..... . . . . . . . . . . . . . . ...... ...... . ... ... .............. .............. ............... .......... ............ ...... . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ ........ ........ ...... ..... .. ... ... ... .. . ... ...... . . . . . .... ... .... .. . ... . . . . . . . . ..... .... .... ... . . ... . . . . . . ... . . . .... .... ... ... . . . . . . . . . . . . . . .... ... ... .... ........... .. . .... .. . ... . . . .... . ... ... .... .......... . . . ... . . . . . . . . . . . . . . . . . . . . . ........ . . . . . . . . . ....... ........... ............. ....... ... .... ........ ... ..... ....... .... .. . .. ... ... ... ... ... ............... ... ... ... .. .. . . . . . . . .. . ... . .. ................... .................. .. . . . . . . .. . . . . . . . ... ... . . . ..... ..... ... ... .... ... . . ... ........................... . . . .. . . . . . ... . . ... ... ....................... ... . .. . . ... . . . . . . . . . . . ...................... ..... . ... ... ... ... . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... ...... . ... . . .... ...... ... ............................ ......................... ........................................................................... ... ... ... ... ... ... ... .... .... ... .. ... .. ... ... ... .. ......... ..... ... . . ... . . . . . . . . . . . . . ........ ........ ........ ........ .. ... ........... ........... .. ..... ..... ...... ... ..... ... ... ... ....... ... ... ..... ... ... ... ...... .......... ... ... ... ... ..... ... ... . . . ... . . . . .. .. ... . . ... . . . . . . . ..... . ... ... . ... ... ..... . . . ... . . . .. .. ... . ... ... . . . . ... . . . . . . ... ... . .... ... . . . . . . ... . .......... . . . . . . . . ........ .......... . ........ ..... . . .......... ....... . . . . . . ..... ...... .. . ...... ...... .... . . . . . . . . . ......................... ......................... ......................... ............ . . ........................... . . . . . . . . . . . . . . . . ................. .... .... .... .. .. .. .. ... ... ... ... ... ... ... ... .. .. .. ... ... .. ... ... .. .. .. .. .. .. .. ............................................................................ ... .... ................................................................................................ . . . . . . . . . . . . . ... . . . ... ... ... ... . . . . . .. . ... . . . . . ... ... ... .. .. .. .. .... . . . . . . . . . . . ..... ..... ..... .. .. .. .. ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . ..................... ..................... ..................... .................... V01 V26 V02 V03 V04 V09 V12 V07 V08 V10 V11 V13 V14 V16 V15 V17 V21 & G.Stiege V25 V06 V05 V20 V18 V19 V22 V23 03.06 V24 UniOL GuN % ' Realz.-Bs $ WS02/03 3. Wege und Zusammenhang ................... ..................... ..... ... .... ... .. .. .. ... ..... .. .... . . ... . .. . .. . . ... .... .. . ....... .......... . . . . ....... ... .................. . . ... .. ... ... ... ... ... ... ... ... . ... . . ... . . ... ...... ................ ..................................... ... .. . . . ... . .... . ... .. .. .... ........ .......... ...... ... ... ... ... . ........ ......... . . .................. . . . . . ... ... .. .. .... ... .. ... ... ....... ........ ......... ..................... .... ... .. .. ..... .. ... .. .... .. . . . . . .................. .... . . ... .. ... ... ... ... ... ... ... ... . ... . . ... . .. ..... ......... ................ . ..... ........................ . . . . . . . . . . . . . . . . . . . .... ... .. .... . . ... . ... .. .... . .. ..... ... . . ... . ... ... . .. . . . .... ..... ..................... ................... .... .... ... ... ... ... ... ... . ... ........ ...... . . ......... ....... . . . . ................ ................ . . . . . . . . . . ... ... .. ... ... ... ... ... .. .. . .... ... ... .. .. ... ... ... ... . . . . . ....... ...... ....... ...... ......... ......... ...................... ..................... .... ... .... ... .. .. ... .. .... ..... . . .. ... ... .. ... ... .... .. . . . . . . ...................... . . . . ... ............... .. . . ... ... ... ... .... ... ... ... ... . . . ... ... ... .... ....... ................................... ...... ... . . ... .. . .... ... ... .... ... ..................... .... ... ... ... . ........ ......... . . .................. . . ...................... . . ... . ... ... ... ... ... .. .... . ........................................ ... . . ... . ... ... .. .. . . . . . ...... ....... ...... ................. ......... .......... ...................... ...... ......... .... ... ... .. .. .. .. ..... ..... . . . ... ... .. ... ... .... .. . . . . . . ...................... . . . . ... ............... .. . . ... ... ... ... .... ... ... ... ... . . . ... ... ... ... . ... ........................ ...... ... . . ... ... .... ... ... ... ..... ................... .... ... ... ... . ........ ......... . .................. . . ................... . . . .. ... ... ..... ... ... .. .. ....................................... .. ..... . .. . ... . ... ... .. .... . ... . . . ...... .................... ................. ........ ................. ....... ......... ...... ... ... ... ... .. .. .. .. .. ..... ..... . . .. . ... ... .. .. . . . ..... . . . ...... ..................... ..... . . . . . . . . . . . . . . ... .. . . ... .. ... ... ... ... ... ... ... ... ... . . . .. ....... ............... ..................................... .... ... ... .... ... ... ... .. .. .... ...................... ... ... ... ... ... ... ... ... .. .. ....... ........ . ........ ......... ............... . . . ...... ..... ... ... .. ..... ... ... ... ... ....... ........ ......... .................... ..... ... ... .. ..... . .. ... ... .... . . ....................... . . ... .. ... ... ... ... ... ... ... ... . ... . .. ... . . . .. . ........... .............. . . . . . . . . . . . . . ........................ . ........ ........... ... . ... . ... ... .. .... .. ... ... ... . ... ... .. .. . . ... .. . .... . . . . . . . . ..................... .................... . ... . .. ... ... ... ... ... ... ... ... ... . . ... .. .. . ... ....... ................ ...................................... ... ... . ... .. . ... ... ... ... ... ....... ........ ......... ........ .................... ....... ......... .... ... ... ... ... .. .. .. ..... .. .... ... . ... . . ... .. .. . .... . . . . . .................... ........................ . . . ... .. . ..... . ... ... .... ... ... ... ... ... ... ... ... ... ... . ... . . ... .. ... . . . . .. ....... ... . . . . . . . . . ... ........ .................. . . ... ... ..... ... .. ... .. ... ... . ... . . .... . . ... . ................... ... ... ... ... ... ... .... ... .. ... ....... .. ...... .. ....... ......... ..... ...... . . . . . . . . . . . . . . . . ..... .. ........... ..... ... .... ... .. ... .. .. .... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ... ... ... ... ... ....... ........ ....... ........ ......... ......... ....................... ....................... ... ... ... ... ...... ... ... .. .. ..... . ............................................................................. . . ... ... ... . .. . . . ..... . . ...... .... ..................... . . . . . . . . . . . . . . . .. .... . ..... ..... . . ... ... ... ... ... .... ... ... ... ... ... ... ... ... ... . ... . . . . ... . .......... . ... . . . . . . . .. ..... ............ . . . . . . . . . . . . . . . . ... ... ......... ........... ....... ............ . ...... ......... . . . . . . ... ... . ... ... .. ... .. ... .. .... . .... ..... . .. ... .. .. ... ... ... .... .. . ... . ..... . . . . . . . . . ................... ................. ........................ . . ... . ... . .. .... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . . ... .. ...... .. . . . ... . .... ......... ........ . . ............ ... ........ ............ . . . . . .......... . . . . . . . . . . . . . . . ...... .. ... ... ..... .... ... .. .. .. .. ..................................................................... .... . . .. ... ... . . . ... .... .... ....................... ....................... .................. ....................... ..... ................. .... ... ... ... ... .. ........................................ .. .. ..... . . . . ... ... ... . . . . ................... .... .... ...................... ...................... .................. .................. .................. .................. ................... ................... ..... ..... ..... ..... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... ... .. .. .. ... ............................. ............................. .. ..... ..... ..... .... .. . . . . . . . . . . . ... ... ... ... ... ... .. . . . . . . . . . . . . . . . . . . . ... ... .... .... .... .... . ... . . . . . . . . . . . . . ........ ............. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............. .............. ............. ... ............ ....... .. ............ ............... . ..... . .... . ... ..... . ... ... . ... .... ... .... ... .. ... ... ... ....... ......... ... ... .... ... ... ... ... ... ... .... ... .. .... ... .... ... ............. . . . . . . . . . . . . . .... ... ... . .. . .......... . ... . ... . . . . . . . . ... .. ........ ....... ... . .. . . . . . . . . . . . . . ................. . . . . .......... ............. .......... ............. .. ........ .................. . ...... ........ ........ ...................... ..... ................... ..... .................... ...... .......... ..... ..... ... ... ... ... ..... ... ... ..... . .... ... ... ... ... .. ... .. .. .. ... ... .. .... ... ... ... ... .. .. . . . . . . ............................. ..................................... . . . . ..... . . . . . . . . ............................ .............................. ............................. . . ................................... ............................. ... ... ... ... ....... .... ... ... ... ... .. .. .. .. .. .. .. .. ... . . . .. . . . . . . . . . . . . . . . . . ...... ...... ...... ..... ...... ...... ...... ....... ....... ... .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................... . . . . . . . . . . . . . . . . . . . . . . ......... . . . . . . . . . . . . . . ....... ...... ...... ...... ...... .............. ....... ... ... ... . .. .... ... ... ... . .... ... ... ... ... ... ... . ... . ... . . .. .... .... . . . . . ......... ...... ...... ...... .. . . . . . ........ . . ..... ..... ......... .. . . . . . . . . . ........... . ................... .................. ................... ...................... ...................... ...... .......... ... ... ..... ..... ... ..... ... .... .... ... ... ... ... ... ... .. ... ..................... .. ... ... ... .. ... .. .. ... ..... .... ........................... .. .... ..... .... . ............................ . . . . . . . . . . . . . . . . . . . . . . . . ..................... ... ... ... ... ... ... . . . . . . . . . . . . . . . . . . . . . . ...... . . . . . . . . . . ....... ....... ....... ...... ....... ...... ....... ....... ....... ....... .. ................. ......... ......... ......... ....... ....... A01 A02 A03 A04 C01 C02 C03 C04 E01 E02 ............... .... .. . . ................. . ...... . . . ... ... . . .. .. .... ... ... ... ... ...... .................. ...... ..... ..... .... .......... ..................... . ...... . . . ... ... .. ... .. ... ... ... ... ... ..... .................. E03 E04 ........... ........... ...... ........ ...... .................... ... ... ... .. ....... .. .............................................. .. . ..... .... ... . . . .. . .. . . . ... ... . .............................. . . . . ..... . . . ....... ...... ... .................. ......... E05 E06 & G.Stiege A05 A06 A07 A08 A09 C05 C07 C06 C08 E07 B01 B03 B04 D01 D02 D04 E11 E14 E09 E12 E15 E10 E13 E16 D05 E17 B07 B08 B05 D03 E08 03.07 B06 B02 B09 B10 D07 D06 D08 D09 D10 D12 D11 E18 E21 E24 E19 E22 E25 E20 E23 E26 UniOL GuN % ' Realz.-Bs WS02/03 $ 4. Tiefensuche und Breitensuche Tiefensuche ' $ f-DFS(v) 1 2 3 4 5 6 7 8 9 10 & ' & if (v markiert) return; markiere v; setze v aktiv; for (alle Kanten und Ausgangsbögen l, die mit v inzidieren) { if (l nicht markiert) { markiere l; f-DFS (otherend(l, v)); } } setze v inaktiv; return; f-DFSgesamt(v) 1 2 3 4 for (alle Knoten v aus V ) /* Knotenliste */ { if (v nicht markiert) { f-DFS (v); } } % $ % a-DFS, a-DFSgesamt b-DFS, b-DFSgesamt & G.Stiege 04.01 UniOL GuN % ' Realz.-Bs WS02/03 $ 4. Tiefensuche und Breitensuche Breitensuche ' & ' & $ f-BFS(v) 1 enqueue(v); 2 markiere v; 3 while (Warteschlange nicht leer) 4 { u = dequeue; 5 for (alle Kanten und Ausgangsbögen l von u) 6 { if (l markiert) return; 7 markiere l; 8 w = otherend(l, u); 9 if (nicht markiert w) 10 { enqueue(w); 11 markiere w; 12 } } }; f-BFSgesamt 1 2 3 4 /* Anfangs sind alle Knoten */ /* und alle Kanten unmarkiert */ for (alle Knoten v aus V ) /* Knotenliste */ { if (v unmarkiert) { f-BFS(v); } }; % $ % a-BFS, a-BFSgesamt b-BFS, b-BFSgesamt & G.Stiege 04.02 UniOL GuN % ' Realz.-Bs WS02/03 $ 4. Tiefensuche und Breitensuche Satz: Es sei v ein Knoten eines allgemeinen Graphen. Sind anfangs alle Knoten unmarkiert, so besucht f-DFS den Knoten v und alle von v f-erreichbaren Knoten und nur diese. Satz: Es sei v ein unmarkierter Knoten eines allgemeinen Graphen, dann werden mit f-DFS alle von v f-erreichbaren Knoten besucht, zu denen es zum Aufrufszeitpunkt einen f-Weg aus unmarkierten Knoten gibt, und nur diese. Tiefensuchbäume • Baumbogen • Rückwärtsbogen • Vorwärtsbogen • Querbogen Satz: Es sei v ein Knoten eines allgemeinen Graphen. Sind anfangs alle Knoten unmarkiert, so bilden die Baumbögen von f-DFS (a-DFS, b-DFS) einen gerichteten Baum mit Wurzel v. Tiefensuchwald. Wird ausgehend von einem ersten Knoten v ein Tiefensuchbaum aufgebaut, so kann es Knoten geben, die dabei nicht erreicht werden. Beginnend mit einem solchen Knoten u wird ein zusätzlicher Tiefensuchbaum aufgebaut und so fort. Es wird so der zum Ablauf der Tiefensuche gehörende Tiefensuchwald bestimmt. Bei aTiefensuche erezugen die Tiefensuchbäume die schwachen Zusammenhangskomponenten des Graphen. Bei f-Tiefensuche und b-Tiefensuche kann es sein, das von einem Tiefensuchbaum zu einem vorher gefundenen ein Bogen geht. Das ist ein Querbogen. Einen solchen rechnen wir zu keinem Tiefensuchbaum. & G.Stiege 04.03 UniOL GuN % ' Realz.-Bs WS02/03 $ 4. Tiefensuche und Breitensuche Satz: • Bei Ablauf einer f-Tiefensuche (a-Tiefensiuche) schließt jeder Rückwärtsbogen einen f-Kreis (a-Kreis) durch Start- und Zielpunkt des Bogens. • Eine Kante kann niemals Vorwärtsbogen oder Querbogen sein. • Bei a-Tiefensuche gibt es keine Vorwärtsbögen und keine Querbögen. Satz: • Ein allgemeiner Graph besitzt genau dann eine a-Kreis, wenn jeder Ablauf einer a-Tiefensuche einen Rückwärtsbogen findet. • Ein Digraph besitzt genau dann einen f-Kreis, wenn jeder Ablauf einer fTiefensuche einen Rückwärtsbogen findet. • Ein stark zusammenhängender allgemeiner Graph besitzt genau dann einen f-Kreis, wenn jeder Ablauf einer f-Tiefensuche einen markierten Knoten trifft. & G.Stiege 04.04 UniOL GuN %