Graphalgorithmen I. Katharina Reif Hallo Welt -Seminar - LS 2

Größe: px
Ab Seite anzeigen:

Download "Graphalgorithmen I. Katharina Reif Hallo Welt -Seminar - LS 2"

Transkript

1 Graphalgorithmen I Katharina Reif allo Welt -Seminar - LS 2

2 Überblick Einführung Speichern von Graphen Topologische Sortierung Zusammenhang und Zusammenhangskomponenten Artikulationspunkte rücken Kosaraju-Algorithmus Quellen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 2

3 Einführung Ein Graph G ist ein Paar G=(V,E) mit einer endlichen, nichtleeren Menge V von Knoten einer Menge E V V von Kanten Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 3

4 Einführung Ein Graph G ist ein Paar G=(V,E) mit einer endlichen, nichtleeren Menge V von Knoten einer Menge E V V von Kanten C C A D A D Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 4

5 Speicherung in einer Adjazenzmatrix Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 5

6 Speicherung in einer Adjazenzmatrix oole sche V V -Matrix A = (a ij ) a ij = { 0 falls (i,j) / E 1 sonst gewichteter Graph: eintragen der Kantengewichte Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 6

7 Speicherung in einer Adjazenzmatrix oole sche V V -Matrix A = (a ij ) a ij = { 0 falls (i,j) / E 1 sonst gewichteter Graph: eintragen der Kantengewichte A C D A C D A C D Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 7

8 Speicherung in einer Adjazenzliste für jeden Knoten eine Liste seiner direkten Nachfolger speichern Knoten als Array von Anfangszeigern auf diese Listen speichern Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 8

9 Speicherung in einer Adjazenzliste für jeden Knoten eine Liste seiner direkten Nachfolger speichern Knoten als Array von Anfangszeigern auf diese Listen speichern C A D Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 9

10 Implizite Graphdarstellung Graph hat die Form eines Gitters Knoten sind die Zellen des Gitters Kanten sind von den Knoten aus durch ein Schema bestimmbar

11 Implizite Graphdarstellung Graph hat die Form eines Gitters Knoten sind die Zellen des Gitters Kanten sind von den Knoten aus durch ein Schema bestimmbar Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 11

12 Implizite Graphdarstellung: von-neumann i n t drow [ ] = { 1,0,1,0}; i n t dcol [ ] = {0,1,0, 1}; for ( i n t i =0; i <drow. s ize ( ) ; i ++){ f e l d [ cur_row + drow [ i ] ] [ cur_col + dcol [ i ] ] / / Gittergrenzen beachten } Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 12

13 Implizite Graphdarstellung: eispiele Moore Springer beim Schach ienenwaben Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 13

14 Topologische Sortierung Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 14

15 Topologische Sortierung Voraussetzung: gerichteter, zyklenfreier Graph Eine topologische Sortierung eines Graphen G = (V,E) ist eine lineare Ordnung über alle seine Knoten, sodass gilt: (u,v) E u kommt in der Ordnung vor v Graph ist zyklenfrei Graph hat eine topologische Sortierung Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 15

16 Topologische Sortierung: eispiel In welcher Reihenfolge muss ich die einzelnen Tätigkeiten ausführen, damit ich Waffeln mit Sahne essen kann? essen Waffeleisen suchen Waffeln backen Teig zubereiten Sahne schlagen einkaufen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 16

17 Topologische Sortierung: Algorithmus Der Eingangsgrad eines Knoten v ist die Anzahl der in v einmündenden Pfeile: indeg(v) = {u (u,v) E} 1. Suche einen Knoten mit Eingangsgrad 0 2. Entferne diesen Knoten mit seinen Kanten aus den Graphen 3. Füge den Knoten der Ergebnisliste hinzu 4. wiederhole dies bis der Graph leer ist Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 17

18 Topologische Sortierung: eispiel essen Waffeleisen suchen Waffeln backen Teig zubereiten Sahne schlagen einkaufen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 18

19 Topologische Sortierung: eispiel essen Waffeln backen Teig zubereiten Sahne schlagen Waffeleisen suchen einkaufen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 19

20 Topologische Sortierung: eispiel essen Waffeln backen Teig zubereiten Sahne schlagen Waffeleisen suchen einkaufen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 20

21 Topologische Sortierung: eispiel Waffeln backen Teig zubereiten essen Waffeleisen suchen einkaufen Sahne schlagen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 21

22 Topologische Sortierung: eispiel Waffeleisen suchen essen einkaufen Waffeln backen Sahne schlagen Teig zubereiten Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 22

23 Topologische Sortierung: eispiel Waffeleisen suchen einkaufen essen Sahne schlagen Teig zubereiten Waffeln backen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 23

24 Topologische Sortierung: eispiel Waffeleisen suchen einkaufen Sahne schlagen Teig zubereiten Waffeln backen essen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 24

25 Topologische Sortierung: eispiel Waffeleisen suchen einkaufen Sahne schlagen Teig zubereiten Waffeln backen essen Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 25

26 Zusammenhang und Zusammenhangskomponten: Artikulationspunkte Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 26

27 Zusammenhang und Zusammenhangskomponten: Artikulationspunkte Ein ungerichteter Graph G heißt zusammenhängend, wenn es für jedes Knotenpaar (u,v) aus V einen Weg von u nach v gibt. Eine Zusammenhangskomponente eines Gaphen ist ein (bezügich Mengeninklusion) maximaler zusammenhängender Untergraph Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 27

28 Zusammenhang und Zusammenhangskomponten: Artikulationspunkte Ein ungerichteter Graph G heißt zusammenhängend, wenn es für jedes Knotenpaar (u,v) aus V einen Weg von u nach v gibt. Eine Zusammenhangskomponente eines Gaphen ist ein (bezügich Mengeninklusion) maximaler zusammenhängender Untergraph. Ein Knoten v heißt Artikulationspunkt eines Graphen G, wenn G\{v} mehr Zusammenhangskomponten hat als G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 28

29 Artikulationspunkte eispiel C D E F A G

30 Artikulationspunkte eispiel C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 30

31 Artikulationspunkte eispiel C D E F G

32 Artikulationspunkte eispiel C D E F G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 32

33 Artikulationspunkte C D E F A G

34 Artikulationspunkte C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 34

35 Artikulationspunkte eispiel C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 35

36 Artikulationspunkte eispiel C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 36

37 Artikulationspunkte eispiel C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 37

38 Artikulationspunkte: Naiver Algorithmus i n t g_zk = anzahl_zk (G) ; for ( Knoten v i n G) { i n t ohnev_zk = anzahl_zk (G\ { v } ) ; i f ( ohnev_zk > g_zk ) { / v i s t A r t i k u l a t i o n s p u n k t / } } estimmen der Anzahl der Zusammenhangskomponenten durch Tiefensuche Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 38

39 bool v i s i t e d [ ] ; void dfs ( Knoten v ) { v i s i t e d [ v ] = true ; for ( d i r e k t e r Nachfolger u von v ) { i f (! v i s i t e d [ u ] ) dfs ( u ) ; } } i n t anzahl_zk ( Graph G) { i n t count_zk = 0; for ( Knoten v i n G) { i f (! v i s i t e d [ v ] ) { count_zk ++; dfs ( v ) ; } } } Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 39

40 Artikulationspunkte Algorithmus Es gibt eine effektiver Vorgehensweise: Die asis bildet die Tiefensuche: Nummerieren der Knoten beim Abstieg Was ist die kleinster Knoten, den ich über eine Kante erreichen kann? Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 40

41 Artikulationspunkte eispiel C D E F A G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 41

42 Artikulationspunkte eispiel C D E F 1 G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 42

43 Artikulationspunkte eispiel C D E F 1 2 G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 43

44 Artikulationspunkte eispiel C 3 E F 1 2 G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 44

45 Artikulationspunkte eispiel 4 3 E F 1 2 G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 45

46 Artikulationspunkte eispiel 4 3 E F G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 46

47 Artikulationspunkte eispiel E F G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 47

48 Artikulationspunkte eispiel E F G Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 48

49 Artikulationspunkte eispiel E F Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 49

50 Artikulationspunkte eispiel E Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 50

51 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 51

52 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 52

53 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 53

54 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 54

55 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 55

56 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 56

57 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 57

58 Artikulationspunkte eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 58

59 i n t k_nr [ ] ; / / i n t i a l j e w e i l s 1 i n t dfs_nr = 1; i n t dfs ( Knoten v, Knoten pred, i n t nr, bool e r s t e r ) {... } i n t main ( void ) { for ( Knoten v i n G) { i f ( k_nr [ v ] == 1){ dfs_nr ++; dfs ( v, 1, dfs_nr 1, true ) ; } } } Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 59

60 i n t dfs ( Knoten v, Knoten pred, i n t nr, bool e r s t e r ) { k_nr [ v ] = nr ; i n t low = nr ; i n t count_sohn = 0; for ( d i r e k t e r Nachfolger u von v ) { i f ( u == pred ) continue ; i f ( k_nr [ u ] == 1){ count_sohn ++; dfs_nr ++; i n t d = dfs ( u, v, dfs_nr 1, false ) ; i f ( d >= nr &&! e r s t e r ) { / v i s t A r t i k u l a t i o n s p u n k t / } low = min ( low, d ) ; } else { low = min ( low, k_nr [ u ] ) ; } } i f ( e r s t e r && count_sohn >1){ / v i s t A r t i k u l a t i o n s p u n k t / } return low ; } Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 60

61 rücken Eine Kante e heißt rücke eines Graphen G=(V,E), wenn G=(V,E\{e}) mehr Zusammenhangskomponenten hat als G=(V,E). ähnlich zu den Artikulationspunkten, nur auf Kanten bezogen Verwenden des gleichen Algorithmus: Falls der Kante (u, v) ein Wert größer als der Nummer von u zugewiesen wird, ist (u, v) eine rücke Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 61

62 rücken eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 62

63 rücken eispiel Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 63

64 Starker Zusammenhang Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 64

65 Starker Zusammenhang Ein gerichteter Graph G=(V,E) ist stark zusammenhängend, wenn es einen Weg von jeden Knoten zu jeden anderen Knoten im Graphen gibt. Eine starke Zusammenhangskomponente eines Graphen ist ein (bezüglich Mengeninklusion) maximaler, stark zusammenhängender Untergraph Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 65

66 Starker Zusammenhang Den transponierten Graph eines gerichteten Graphen erhält man durch umkehren aller Kantenrichtungen: G T = (V, E T ) mit E T = {(u, v) (v, u) E} G und G T haben dieselben starken Zusammenhangskomponenten Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 66

67 Kosaraju-Algorithmus 1. Tiefensuche auf G sobald ein Knoten komplett abgearbeitet ist, wird er auf einen Stapel gelegt 2. berechne G T 3. Tiefensuche auf G T Startknoten: oberster unbesuchter Knoten auf dem Stapel alle Knoten die vom jeweiligen Startknoten dabei erreicht werden bilden eine starke Zusammenhangskomponente Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 67

68 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 68

69 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 69

70 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 70

71 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 71

72 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 72

73 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 73

74 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 74

75 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 75

76 Kosaraju-Algorithmus eispiel C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 76

77 Kosaraju-Algorithmus eispiel C D E E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 77

78 Kosaraju-Algorithmus eispiel C D E D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 78

79 Kosaraju-Algorithmus eispiel C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 79

80 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 80

81 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 81

82 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 82

83 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 83

84 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 84

85 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 85

86 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 86

87 Kosaraju-Algorithmus eispiel A C D E C D E A Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 87

88 Quellen Introduction to Algorithms von Cormen, Leiserson, Rivest, Stein Algorithmen und Datenstrukturen von Thomas Ottmann, Peter Widmayer Vorträge früherer Semester Algorithmische Graphentheorie Volker Turau, Christoph Weyer Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 88

89 Danke Katharina Reif allo Welt -Seminar - LS 2 Graphalgorithmen I 89

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

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

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

Graphalgorithmen I Hallo Welt! für Fortgeschrittene

Graphalgorithmen I Hallo Welt! für Fortgeschrittene Graphalgorithmen I Hallo Welt! für Fortgeschrittene Jens Wetzl (sijewetz@stud.informatik.uni-erlangen.de) 18. Mai 2009 Motivation Grundlagen Beschreibung von Objekten und deren Beziehungen zueinander Vielfältige

Mehr

Rückblick: Starke Zusammenhangskomponenten

Rückblick: Starke Zusammenhangskomponenten Rückblick: Starke Zusammenhangskomponenten Der Algorithmus von Kosaraju bestimmt die starken Zusammenhangskomponenten eines gerichteten Graphen wie folgt: Schritt 1: Bestimme den transponierten Graphen

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Graphalgorithmen I Florian Schmaus florian.schmaus@informatik.stud.uni-erlangen.de Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht I. Grundlagen

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 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

Graphalgorithmen I. Yannik Tannhäuser Hallo Welt! -Seminar LS 2

Graphalgorithmen I. Yannik Tannhäuser Hallo Welt! -Seminar LS 2 Graphalgorithmen I Yannik Tannhäuser 22.05.2019 Hallo Welt! -Seminar LS 2 Motivation Königsberger rückenproblem, 1736 von Leonhard uler gelöst Viele Probleme lassen sich auf (auch heute noch) Graphen übertragen

Mehr

Graphalgorithmen I. Simon Regnet. May 16, Universität Erlangen. Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, / 56

Graphalgorithmen I. Simon Regnet. May 16, Universität Erlangen. Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, / 56 Graphalgorithmen I Simon Regnet Universität Erlangen May 16, 2008 Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, 2008 1 / 56 Inhalt 1 Motivation 2 Terminologie 3 Datenstrukturen 4 Suche

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

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

ADS: Algorithmen und Datenstrukturen 2

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

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 3 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

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.

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

Motivation Kap. 6: Graphen

Motivation Kap. 6: Graphen Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es

Mehr

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

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

Mehr

Algorithmen und Datenstrukturen

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

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

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

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

Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen

Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19. VO DAP2 SS 2008 19. Juni 2008 1

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

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

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

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h. aaacmxicdvdlsgmxfl1t3/vv69jntaiuyowubbdcwy1lbfuqwkomtwuyzgri7ltgwa9wa7/cr+lo3potpq2c9xegcdjnxu7j8wmpdlru2mktlc4tr6yu5dc3nre2czvfhlgjzrzolfs65vpdpyh4hqvk3oo1p6evedmpzid+c8i1esq6xjtmnzaoitexjkkvbozdl5yrytfofkpu+bhacu+q5dfxyu4updp+pkobwgv3xyne9hrlqh4hk9sytufg2mmorsekf8zfjobhlav0wnuwrjtkppnnez+sq6v0sf9p+yiku/x7rkzdy9lqt5mhxtvz05uif3q+ugfs38zdz1aedznlwqtwndwpjarvvfmrfpuvtiaioeeesvnqfiijkjkpj/se5gxlagllwti/enzhnwvos87bfr+qiv+txnhzc8velveqvwcgvdidazgcd06hbhdwcxvgemitpmpiexhgzqvznhvnoz87uzah5/0djy+sia==

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

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

Digraphen, DAGs und Wurzelbäume

Digraphen, DAGs und Wurzelbäume Digraphen (gerichtete Graphen) Slide 1 Digraphen, DAGs und Wurzelbäume Digraphen (gerichtete Graphen) Slide 2 Eingangs- und Ausgangsgrad Bei einer gerichteten Kante e = (u,v) E heißt u Startknoten von

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April

Mehr

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Lange Klausurvorbereitung Hier finden Sie alle Begriffe, Zusammenhänge und Algorithmen, die mit Blick auf die Klausur relevant sind. Um es

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

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

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS Kap. 5: Graphen Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 17. VO DAP2 SS 2009 23. Juni 2008 1 Motivation Warum soll ich heute hier bleiben? Graphen sind wichtig und

Mehr

Wie wird ein Graph dargestellt?

Wie wird ein Graph dargestellt? Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

12. Graphen. Königsberg Zyklen. [Multi]Graph

12. Graphen. Königsberg Zyklen. [Multi]Graph Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt

Mehr

Algorithmen & Datenstrukturen 2 Praktikum 3

Algorithmen & Datenstrukturen 2 Praktikum 3 Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung

Mehr

Tutoraufgabe 1 (SCC):

Tutoraufgabe 1 (SCC): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus der gleichen Kleingruppenübung

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April

Mehr

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1 Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:

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

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

1 Pfade in azyklischen Graphen

1 Pfade in azyklischen Graphen Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.

Mehr

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt. Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

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

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

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

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

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2

Mehr

Institut für Programmierung und Reaktive Systeme 27. Mai Programmieren II. 12. Übungsblatt

Institut für Programmierung und Reaktive Systeme 27. Mai Programmieren II. 12. Übungsblatt Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 27. Mai 206 Programmieren II 2. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil 2: Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Flüsse in Netzwerken Zusammenhangskomponenten

Mehr

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47 Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford

Mehr

Einheit 11 - Graphen

Einheit 11 - Graphen Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht

Mehr

Zählen perfekter Matchings in planaren Graphen

Zählen perfekter Matchings in planaren Graphen Zählen perfekter Matchings in planaren Graphen Kathlén Kohn Institut für Mathematik Universität Paderborn 25. Mai 2012 Inhaltsverzeichnis Motivation Einführung in Graphentheorie Zählen perfekter Matchings

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

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

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Algorithmen und Datenstrukturen 9. GRAPHEN 1 GRUNDLAGEN. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 9. GRAPHEN 1 GRUNDLAGEN. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 9. GRAPHEN 1 GRUNDLAGEN Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Graphen Ein Graph ist das mathematische Modell eines Netzwerks

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Datenstrukturen. einfach verkettete Liste

Datenstrukturen. einfach verkettete Liste einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

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

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq Vorlesung 3: Graphenalgorithmen Markus Püschel David Steurer Peter Widmayer PDF download goo.gl/ym3spq Algorithmen und Datenstrukturen, Herbstsemester 2017, ETH Zürich Gerichtete Graphen und Abhängigkeiten

Mehr

1 Datenstrukturen Datenstrukturen und Algorithmen

1 Datenstrukturen Datenstrukturen und Algorithmen 1 Datenstrukturen 1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 1.5 Graphen Darstellung allgemeiner Beziehungen zwischen Objekten/Elementen Objekte = Knoten:

Mehr

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 12, Donnerstag, 22. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 014 / 015 Vorlesung 1, Donnerstag,. Januar 015 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.

Mehr

Wege, Pfade und Kreise

Wege, Pfade und Kreise Wege, Pfade und Kreise ef.: in Weg ist eine olge von Knoten (v 1, v2,..., vk), so dass {vi,vi+1} für alle 1 i

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

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

Graphentheorie. Yichuan Shen. 10. Oktober 2013

Graphentheorie. Yichuan Shen. 10. Oktober 2013 Graphentheorie Yichuan Shen 0. Oktober 203 Was ist ein Graph? Ein Graph ist eine kombinatorische Struktur, die bei der Modellierung zahlreicher Probleme Verwendung findet. Er besteht ganz allgemein aus

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs

Mehr

Informatik B Sommersemester Musterlösung zur Klausur am

Informatik B Sommersemester Musterlösung zur Klausur am Informatik B Sommersemester 01 Musterlösung zur Klausur am 1.0.01 Leider wurde der Hinweis, dass alle Lösungen kurz (stichpunktartig), aber inhaltlich ausreichend zu kommentieren sind, nicht immer beachtet.

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

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I Name: Vorname: Matrikelnummer: Klausur-ID: svorschlag Karlsruher Institut für Technologie Institut für Theoretische Informatik Jun.-Prof. D. Hofheinz, Jun.-Prof. H. Meyerhenke 8.09.05 Klausur Algorithmen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Tutoraufgabe 1 (Starke Zusammenhangskomponenten): für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder

Mehr

Software Entwicklung 1. Graphen. Motivation. Definitionen: Graph. Annette Bieniusa / Arnd Poetzsch-Heffter

Software Entwicklung 1. Graphen. Motivation. Definitionen: Graph. Annette Bieniusa / Arnd Poetzsch-Heffter Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Graphen AG Softech FB Informatik TU Kaiserslautern Literaturhinweis: Kapitel 4.5 aus R. Sedgewick, K. Wayne: Einführung in die Programmierung

Mehr

Algorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2011

Algorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2011 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 86.72 Algorithmen und Datenstrukturen VL 4.0 2. Übungstest SS 20 0. Juni 20 Machen

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009 Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009 I NSTITUT F U R T HEORETISCHE I NFORMATIK, P ROF. D R. D OROTHEA WAGNER KIT Universita t des Landes Baden-Wu rttemberg und nationales

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Graphen Literaturhinweis: Kapitel 4.5 aus R. Sedgewick, K. Wayne: Einführung in die Programmierung

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