Fortgeschrittene Netzwerk- und Graph-Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Fortgeschrittene Netzwerk- und Graph-Algorithmen"

Transkript

1 Fortgechrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrtuhl für Effiziente Algorithmen (Prof. Dr. Ernt W. Mayr) Intitut für Informatik Techniche Univerität München Winteremeter 2010/11 H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 1 / 533

2 Übericht 1 H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 28 / 533

3 Graphtraverierung Problem: Wie kann man die Knoten eine Graphen ytematich durchlaufen? Breitenuche (breadth-firt earch, bf) chichtenweie Traverierung in aufteigendem Abtand vom Urprungknoten Tiefenuche (depth-firt earch, df) Topologiche Sortierung (bei DAG) Zweifachzuammenhangkomponenten Starke Zuammenhangkomponenten H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 29 / 533

4 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

5 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

6 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

7 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

8 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

9 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

10 Breitenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 30 / 533

11 Breitenuche Anwendung: Single Source Shortet Path (SSSP) Problem in ungewichteten Graphen d(v): Ditanz von Knoten v zu (d() = 0) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 31 / 533

12 Breitenuche parent(v): Knoten, von dem v entdeckt wurde parent wird beim erten Beuch von v geetzt ( eindeutig) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 32 / 533

13 Breitenuche Kantentypen: Baumkanten: zum Kind Rückwärtkanten: zu einem Vorfahren Kreuzkanten: ontige H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 33 / 533

14 Breitenuche void BFS(Node ) { d[] = 0; parent[] = ; Lit<Node> q = ; while (!q.empty()) { u =q.popfront(); foreach ((u, v) E) { if (parent[v] == null) { q.puhback(v); d[v] = d[u]+1; parent[v] = u; } } } } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 34 / 533

15 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

16 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

17 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

18 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

19 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

20 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

21 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

22 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

23 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

24 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

25 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

26 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

27 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

28 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

29 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

30 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

31 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

32 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

33 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

34 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

35 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

36 Tiefenuche H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 35 / 533

37 Tiefenuche Übergeordnete Methode (fall nicht alle Knoten erreicht werden) alle Knoten nicht markiert; init(); foreach ( V ) if ( nicht markiert) { markiere ; root(); DFS(,); } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 36 / 533

38 Tiefenuche void DFS(Node u, Node v) { foreach ((v, w) E) if (i marked(w)) traverenontreeedge(v,w); ele { traveretreeedge(v,w); mark(w); DFS(v,w); } backtrack(u,v); } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 37 / 533

39 Tiefenuche Variablen: int[ ] dfnum; int[ ] finihnum; int dfcount, finihcount; Methoden: // Explorationreihenfolge // Fertigtellungreihenfolge // Zähler void init() { dfcount = 1; finihcount = 1; } void root(node ) { dfnum[] = dfcount; dfcount++; } void traveretreeedge(node v, Node w) { dfnum[w] = dfcount; dfcount++; } void traverenontreeedge(node v, Node w) { } void backtrack(node u, Node v) { finihnum[v] = finihcount; finihcount++; } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 38 / 533

40 Tiefenuche (8,10) (9,9) (11,8) (6,1) (5,3) (10,7) (1,11) (2,6) (4,4) (7,2) (3,5) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 39 / 533

41 DFS-Nummerierung Kantentypen: Baumkanten: zum Kind Vorwärtkanten: zu einem Nachfahren Rückwärtkanten: zu einem Vorfahren Kreuzkanten: ontige (8,10) (9,9) (11,8) (6,1) (5,3) (10,7) (1,11) (2,6) (4,4) (7,2) (3,5) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 40 / 533

42 DFS-Nummerierung Beobachtung für Kante (v, w): Kantentyp dfnum[v] < dfnum[w] finihnum[v] > finihnum[w] Baum & Vorwärt ja ja Rückwärt nein nein (umgekehrt) Kreuz nein ja H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 41 / 533

43 DFS-Nummerierung Anwendung: Erkennung von azyklichen gerichteten Graphen (engl. directed acyclic graph / DAG) (8,10) (9,9) (11,8) (6,1) (5,3) (10,7) (1,11) (2,6) (4,4) (7,2) (3,5) keine gerichteten Kreie H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 42 / 533

44 DFS-Nummerierung Lemma Folgende Auagen ind äquivalent: 1 Graph G it ein DAG. 2 DFS in G enthält keine Rückwärtkante. 3 (v, w) E : finihnum[v] > finihnum[w] Bewei. (2) (3): wenn (2), dann gibt e nur Baum-, Vorwärt- und Kreuzkanten Für alle gilt (3) (3) (2): für Rückwärtkanten gilt ogar die umgekehrte Relation finihnum[v]<finihnum[w] wenn (3), dann kann e alo keine Rückwärtkanten geben (2) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 43 /

45 DFS-Nummerierung Lemma Folgende Auagen ind äquivalent: 1 Graph G it ein DAG. 2 DFS in G enthält keine Rückwärtkante. 3 (v, w) E : finihnum[v] > finihnum[w] Bewei. (2) (1): wenn Rückwärtkante (v, w) exitiert, gibt e einen gerichteten Krei ab Knoten w (und G it kein DAG) (1) (2): wenn e einen gerichteten Krei gibt, it mindeten eine von der DFS beuchte Kante diee Kreie eine Rückwärtkante (Kante zu einem chon beuchten Knoten, dieer mu Vorfahr ein) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 44 / 533

46 Zuammenhang in Graphen Definition Ein ungerichteter Graph heißt zuammenhängend, wenn e von jedem Knoten einen Pfad zu jedem anderen Knoten gibt. Ein maximaler zuammenhängender induzierter Teilgraph wird al Zuammenhangkomponente bezeichnet. Die Zuammenhangkomponenten eine ungerichteten Graphen können mit DFS oder BFS in O(n + m) betimmt werden. H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 45 / 533

47 Knoten-Zweifachzuammenhang Definition Ein ungerichteter Graph G = (V, E) heißt 2-fach zuammenhängend (oder genauer geagt 2-knotenzuammenhängend), fall V > 2 und für jeden Knoten v V der Graph G {v} zuammenhängend it. H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 46 / 533

48 Artikulationknoten und Blöcke Definition Ein Knoten v eine Graphen G heißt Artikulationknoten (engl. cut-vertex), wenn ich die Anzahl der Zuammenhangkomponenten von G durch da Entfernen von v erhöht. Definition Die Zweifachzuammenhangkomponenten eine Graphen ind die maximalen Teilgraphen, die 2-fach zuammenhängend ind. Ein Block it ein maximaler zuammenhängender Teilgraph, der keinen Artikulationknoten enthält. D.h. die Menge der Blöcke beteht au den Zweifachzuammenhangkomponenten, den Brücken (engl. cut edge), owie den iolierten Knoten. H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 47 / 533

49 Blöcke und DFS Modifizierte DFS nach R. E. Tarjan: num[v]: DFS-Nummer von v low[v]: minimale Nummer num[w] eine Knoten w, der von v au über beliebig viele ( 0) Baumkanten abwärt, evt. gefolgt von einer einzigen Rückwärtkante erreicht werden kann low[v]: Minimum von num[v] low[w], wobei w ein Kind von v im DFS-Baum it (Baumkante) num[w], wobei {v, w} eine Rückwärtkante it H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 48 / 533

50 Blöcke und DFS Lemma Sei G = (V, E) ein ungerichteter, zuammenhängender Graph und T ein DFS-Baum in G. Ein Knoten a V it genau dann ein Artikulationknoten, wenn a die Wurzel von T it und mindeten 2 Kinder hat, oder a nicht die Wurzel von T it und e ein Kind b von a mit low[b] num[a] gibt. H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 49 / 533

51 Blöcke und DFS Die Kanten werden auf einem Stack geammelt und nach der Erkennung eine Artikulationknoten wird der geamte Block abgepflückt. D A B G C A B H D C E H B F H D C E G F A E G F H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 50 / 533

52 Starke Zuammenhangkomponenten Definition Sei G = (V, E) ein gerichteter Graph. U V heißt tark zuammenhängend genau dann, wenn für alle u, v U ein gerichteter Pfad von u nach v in G exitiert U V heißt tarke Zuammenhangkomponente (ZHK) von G, wenn U tark zuammenhängend und (inkluion-)maximal it U H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 51 / 533

53 Starke Zuammenhangkomponenten Beobachtung: Schrumpft man alle tarken Zuammenhangkomponenten zu einzelnen Knoten, ergibt ich ein DAG. U H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 52 / 533

54 Starke Zhk. und DFS / Variante 1 Modifizierte DFS nach R. E. Tarjan: num[v]: DFS-Nummer von v low[v]: minimale Nummer num[w] eine Knoten w, der von v au über beliebig viele ( 0) Baumkanten abwärt, evt. gefolgt von einer einzigen Rückwärtkante oder einer Querkante zu einer ZHK, deren Wurzel echter Vorfahre von v it, erreicht werden kann low[v]: Minimum von num[v] low[w], wobei w ein Kind von v im DFS-Baum it (Baumkante) num[w], wobei {v, w} eine Rückwärtkante it num[w], wobei {v, w} eine Querkante it und die Wurzel der tarken Zuammenhangkomponente von w it Vorfahre von v H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 53 / 533

55 Starke Zuammenhangkomponenten Knoten v it genau dann Wurzel einer tarken Zuammenhangkomponente, wenn num[v]=low[v] H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 54 / 533

56 Starke Zhk. und DFS / Variante 2 Prinzip: Untercheidung in fertige / unfertige Knoten Zuammenhangkomponente heißt gechloen, fall ie nur fertige Knoten enthält, anonten heißt ie offen Knoten in gechloenen Komponenten heißen gechloen, ont offen Repräentant einer ZHK it der Knoten mit der kleinten dfnum H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 55 / 533

57 Starke Zhk. und DFS / Variante 2 Beobachtungen (Invarianten): gechloene Knoten ind immer fertig, offene Knoten können fertig oder (noch) aktiv ein Kanten von gechloenen Knoten führen immer zu gechloenen Knoten Der Pfad vom Startknoten zum aktuellen Knoten enthält die Repräentanten aller offenen ZHK. Betrachtet man die Knoten in offenen ZHK ortiert nach DFS-Nummern, o partitionieren die Repräentanten diee Folge in die offenen ZHK. H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 56 / 533

58 Starke Zhk. und DFS / Variante 2 Prinzip: betrachte Kante e = (v, w) Kante zu chon bekanntem Knoten w in offener ZHK (Rückwärt-/Querkante): fall v und w momentan noch in unterchiedlichen ZHK liegen, müen diee zuammen mit allen ZHK dazwichen zu einer einzigen ZHK verchmolzen werden bei Vorwärtkanten it nicht zu tun Kante zu Knoten w in gechloener ZHK (Querkante): von w gibt e keinen Weg zu v, ont wäre die ZHK von w noch nicht gechloen, alo bleiben die ZHK unverändert Kante zu unbekanntem Knoten w (Baumkante): neue ZHK für w Wenn Knoten keine augehenden Kanten mehr hat: Knoten fertig wenn Knoten Repräentant einer ZHK it, dann ZHK chließen H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 57 / 533

59 Starke Zhk. und DFS / Variante 2 2. Variante: Verwaltung der unfertigen Knoten in Stack onode (in Reihenfolge teigender dfnum) Verwaltung der Repräentanten der offenen ZHK in Stack orep H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 58 / 533

60 Starke Zhk. und DFS / Variante 2 void init() { component = new int[n]; orep = ; onode = ; dfcount = 1; } void root(node w) / traveretreeedge(node v, Node w) { orep.puh(w); // Repräentant einer neuen ZHK onode.puh(w); // neuer offener Knoten dfnum[w] = dfcount; dfcount++; } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 59 / 533

61 Starke Zhk. und DFS / Variante 2 void traverenontreeedge(node v, Node w) { if (w onode) // verchmelze ZHK while (dfnum[w] < dfnum[orep.top()]) orep.pop(); } void backtrack(node u, Node v) { if (v == orep.top()) { // v Repräentant? orep.pop(); // ja: entferne v do { // und offene Knoten bi v w = onode.pop(); component[w] = v; } while (w!=v); } } H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 60 / 533

62 Starke Zhk. und DFS / Variante 2 Zeit: O(n + m) Begründung: init, root: O(1) traveretreeedge: (n 1) O(1) backtrack, traverenontreeedge: da jeder Knoten höchten einmal in orep und onode landet, ingeamt O(n + m) DFS-Gerüt: O(n + m) geamt: O(n + m) H. Täubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS 10/11 61 / 533

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datentrukturen Prof. Dr. Hanjo Täubig Lehrtuhl für Effiziente Algorithmen (Prof. Dr. Ernt W. Mayr) Intitut für Informatik Techniche Univerität München Sommeremeter H. Täubig

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL 1.6.16 Graphtraverierung BFS (Breitenuche): in Schichten um Startknoten löt einfache Form de Kürzete-Wege-Problem DFS (Tiefenuche): ert abteigen, dann Alternativen anehen generich formuliert,

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

Diskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München

Diskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München WS 2005/06 Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2005ws/ds/ 27. Januar 2006 Ernst W. Mayr 2.16 Inzidenzmatrix 3. Definitionen für gerichtete Graphen 3.1 Digraph

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Effiziente Algorithmen und Datenstrukturen I Kapitel 7: Graphen

Effiziente Algorithmen und Datenstrukturen I Kapitel 7: Graphen Effiziente Algorithmen und Datenstrukturen I Kapitel 7: Graphen Christian Scheideler WS 2008 15.12.2008 Kapitel 7 1 Graphen Graph G=(V,E) besteht aus Knotenmenge V Kantenmenge E ungerichteter Graph gerichteter

Mehr

2.6.1 Definition und Darstellung Ausspähen von Graphen Minimal spannende Bäume Kürzeste Pfade 2.6.

2.6.1 Definition und Darstellung Ausspähen von Graphen Minimal spannende Bäume Kürzeste Pfade 2.6. .6 Graphen.6. Definition und Dartellung.6. Aupähen von Graphen.6.3 Minimal pannende Bäume.6.4 Kürzete Pfade.6.5 Maximaler Flu .6.5 Maximaler Flu.6.5. Flunetzwerke.6.5. Ford-Fulkeron-Methode.6.5.3 Algorithmu

Mehr

Übersicht. Netzwerke und Graphen Graphrepräsentation Graphtraversierung Kürzeste Wege Minimale Spannbäume. 9 Graphen. Graphen

Übersicht. Netzwerke und Graphen Graphrepräsentation Graphtraversierung Kürzeste Wege Minimale Spannbäume. 9 Graphen. Graphen Übersicht 9 Graphen Netzwerke und Graphen Graphrepräsentation Graphtraversierung Minimale Spannbäume H. Täubig (TUM) GAD SS 96 Netzwerke und Graphen Übersicht 9 Graphen Netzwerke und Graphen Graphrepräsentation

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datentrukturen Teil IV Peter F. Stadler & Kontantin Klemm Bioinformatic Group, Dept. of Computer Science & Interdiciplinary Center for Bioinformatic, Univerity of Leipzig 7. April

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II.

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II. Schulz, Gog, Sanders: Algorithmen II - 31. Januar 2017 Algorithmen II Peter Sanders, Christian Schulz, Simon Gog Übungen: Michael Axtmann Institut für Theoretische Informatik, Algorithmik II Web: http://algo2.iti.kit.edu/algorithmenii_ws16.php

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datentrukturen Teil 4 Prof. Peter F. Stadler & Sebatian Will Bioinformatik/IZBI Intitut für Informatik & Interdiziplinäre Zentrum für Bioinformatik Univerität Leipzig 0. April 04 /

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

23. Kürzeste Wege. Flussüberquerung (Missionare und Kannibalen) Das ganze Problem als Graph. Formulierung als Graph

23. Kürzeste Wege. Flussüberquerung (Missionare und Kannibalen) Das ganze Problem als Graph. Formulierung als Graph Fluüberquerung (Miionare und Kannibalen). Kürzete Wege Problem: Drei Kannibalen und drei Miionare tehen an einem Ufer eine Flue. Ein dort bereittehende Boot fat maimal zwei Peronen. Zu keiner Zeit dürfen

Mehr

Dijkstras Algorithmus: Pseudocode

Dijkstras Algorithmus: Pseudocode Dijktra Algorithmu: Peudocode initialize d, parent all node are non-canned while 9 non-canned node u with d[u] < u := non-canned node v with minimal d[v] relax all edge (u,v) out of u u i canned now Behauptung:

Mehr

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches

Mehr

Zweizusammenhang und starker Zusammenhang

Zweizusammenhang und starker Zusammenhang .. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk

Mehr

10. Übung Algorithmen I

10. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume

Mehr

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

Themen der Übung. Rekursion. Dateien einlesen Sudokus. Assertions

Themen der Übung. Rekursion. Dateien einlesen Sudokus. Assertions Themen der Übung Rekurion CoMa-Übung X TU Berlin.0.0 Themen heute Evaluation Aertion Einleen von Dateien Queue und Breitenuche Rekurion Wegrekontruktion Tiefenuche Backtracking Evaluation Diee Woche bekommt

Mehr

2.4 Starke Zusammenhangskomponenten in Digraphen

2.4 Starke Zusammenhangskomponenten in Digraphen Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:

Mehr

9 Graphtraversierung. Sanders / van Stee: Algorithmentechnik November 27,

9 Graphtraversierung. Sanders / van Stee: Algorithmentechnik November 27, Sanders / van Stee: Algorithmentechnik November 27, 2007 1 9 Graphtraversierung Ausgangspunkt oder Baustein fast jedes nichtrivialen Graphenalgorithmus Sanders / van Stee: Algorithmentechnik November 27,

Mehr

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php? Algorithmen I Prof. Jörn Müller-Quade 19.06.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik

Mehr

VL-14: Graphalgorithmen I. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger

VL-14: Graphalgorithmen I. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger VL-14: Graphalgorithmen I (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger SS 2017, RWTH DSAL/SS 2017 VL-14: Graphalgorithmen I 1/48 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer 4024

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / Traversierung ADS: Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Sebastian

Mehr

Algorithmen I - Tutorium 28 Nr. 9

Algorithmen I - Tutorium 28 Nr. 9 Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE

Mehr

Abgabe: (vor der Vorlesung)

Abgabe: (vor der Vorlesung) TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 0 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorleung. Falltudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal pannende Bäume 5. Kürzete Pfade 6. Traveling Saleman Problem 7. Flüe in Netzwerken

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester H.

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen C. Kürzeste Pfade: Grundlagen Gabriele Röger Universität Basel 9. Mai 09 Graphen: Übersicht Repräsentation Exploration Graphen Exploration: Anwendungen Minimale Spannbäume

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. C5.1 Einführung. C5.2 Grundlagen

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. C5.1 Einführung. C5.2 Grundlagen C. Kürzeste Pfade: Grundlagen C. Kürzeste Pfade: Grundlagen C. Einführung Gabriele Röger C. Grundlagen Universität Basel C. Optimalitätskriterium und Generisches Verfahren G. Röger (Universität Basel)

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung

Mehr

Keller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14

Keller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14 Keller, Schlangen und Listen Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14 Listen Listen unterstützen die Operationen Lookup, Insert, Remove. + Listen passen sich der Größe der zu speichernden

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2010/11

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 13. Übung minimale Spannbäume, topologische Sortierung, AVL-Bäume Clemens Lang Übungen zu AuD 4. Februar 2010 Clemens Lang (Übungen zu AuD) Algorithmen und Datenstrukturen

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die nformatik 2 raphenexploration Sven Kosub A Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag,. Januar 04 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.

Mehr

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40 Graphalgorithmen 1 Tillmann Zipperer 03.06.2015 Tillmann Zipperer Graphalgorithmen 1 03.06.2015 1 / 40 1 Grundlagen Definition Graphtypen Implizite Graphdarstellung Tillmann Zipperer Graphalgorithmen 1

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Kapitel 1. Einführung

Kapitel 1. Einführung Kapitel Einführung Zunächst einige Definitionen zu zentralen Begriffen dieser Vorlesung. Diese dienen vor allem der Erinnerung sowie der Auflösung von Mehrdeutigkeiten durch abweichende Verwendung in anderen

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung

Mehr

SS10 Effiziente Algorithmen 2. Kapitel: Graphdurchläufe

SS10 Effiziente Algorithmen 2. Kapitel: Graphdurchläufe SS0 Effiziente Algorithmen. Kapitel: Graphdurchläufe Martin Dietzfelbinger April/Mai 00 Kapitel Durchsuchen und Strukturanalyse von Graphen (Ungerichteter) Graph C B W J A R O E G X M FG KTuEA, TU Ilmenau

Mehr

Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig

Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Janosch Maier 3. August 2011 Inhaltsverzeichnis 1 Sortieren 3 1.1 Externes Sortieren..........................

Mehr

Algorithmen I. Tutorium 1-8. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-8. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-8. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-06-06 Überblick 1 Allgemeines Adjazenzliste Adjazenzmatrix Adjazenzfeld Aufgaben

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

Mehr

Programmiertechnik II

Programmiertechnik II Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 018/19 1. Vorlesung Minimale Spannbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Motivation ) Kantengewichte w : E R >0 ) w(e ) := e E w(e)

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete

Mehr

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Vollständiger Graph Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 09. Mai 08 [Letzte Aktualisierung: 06/07/08, 08:4]

Mehr

Programmiertechnik II

Programmiertechnik II Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind

Mehr

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/81 Datenstrukturen und Algorithmen Vorlesung 14+15: Elementare Graphenalgorithmen (K22,K24.2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2017/18 20. Vorlesung Tiefensuche und topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Themen für den 3. Kurztest (Do, 25.01.18)

Mehr

Nachbarschaft, Grad, regulär, Inzidenz

Nachbarschaft, Grad, regulär, Inzidenz Nachbarschaft, Grad, regulär, Inzidenz Definition Eigenschaften von Graphen Sei G = (V, E) ein ungerichteter Graph. 1 Die Nachbarschaftschaft Γ(u) eines Knoten u V ist Γ(u) := {v V {u, v} E}. 2 Der Grad

Mehr

Programmierkurs Python

Programmierkurs Python Programmierkurs Python Stefan Thater Michaela Regneri 2010-0-29 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen für Graphen Tiefen- und Breitensuche Nächste Woche: mehr Algorithmen 2 Was

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri FR.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 011 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL.6.16 Graphtraversierung (DFS, topologische Sortierung und mehr) Kürzeste Wege: Problemstellung, Algorithmen Analoger Algorithmus Dijkstras Algorithmus: Idee, Korrektheit Heute: mehr zu Dijkstra,

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2) Graphen (2) 1 Topologisches Sortieren (1) Die Kanten eines gerichteten zyklenfreien Graphen bilden eine Halbordnung (die Ordnungsrelation ist nur für solche Knoten definiert die am gleichen Pfad liegen).

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Problemstellung Algorithmus von Prim

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr