15. Elementare Graphalgorithmen
|
|
- Maja Schäfer
- vor 7 Jahren
- Abrufe
Transkript
1 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 von Graphen Schließlich einfache Graphalgorithmen: Breiten- und Tiefensuche, Zusammenhangskomponenten, Minimalspannende Bäume
2 Wiederholung Graphen Gerichtete Graphen Ein gerichteter Graph G ist ein Paar (V,E), wobei E eine endliche Menge ist und E V V. Elemente aus V heissen Knoten, Elemente aus E heissen Kanten. Entsprechend heisst V Knotenmenge und E heisst Kantenmenge von G. Kanten sind geordnete Paare von Knoten. Kanten der Form (u,u), u V, sind zugelassen und heissen Schleifen. Ist (,v) E u, so sagen wir, dass die Kante von u nach v führt. Sagen auch, dass u und v adjazent sind. Müssen dann aber noch Richtung berücksichtigen. 2
3 Illustration gerichteter Graph V = {,2,3,4,5,6 } E = {(,2 ), ( 2,2 ), ( 2,4 ), ( 2,5 ), ( 4,, ) ( 4,5 ), ( 5,4 ), ( 6,3 )}
4 Wiederholung Graphen Ungerichtete Graphen Ein ungerichteter Graph G ist ein Paar (V,E), wobei V eine endliche Menge ist und E eine Menge von 2-elementigen Teilmengen von V ist. Elemente aus V heissen Knoten, Elemente aus E heissen Kanten. Entsprechend heisst V Knotenmenge und E heisst Kantenmenge von G. Formal haben Kanten die Form {,v} mit u,v V u. Schreiben aber wir bei gerichteten Graphen Kanten als Paare (u,v), unterscheiden dabei aber nicht zwischen (u,v) und (v,u). Kanten der Form (u,u) sind nicht zugelassen. Ist ( u,v ) E, so sagen wir, dass u und v adjazent sind. 4
5 Illustration ungerichteter Graph V = {,2,3,4,5,6 } E = {(,2 ), (,5 ), ( 2,5 ), ( 6,3 )}
6 Darstellung von Graphen Adjazenzlisten () Die Adjazenzlisten-Darstellung eines Graphen G=(V,E) besteht aus einem Array Adj von V Listen. Pro Knoten u enthält Adj damit genau eine Liste Adj u. [ ] Für alle u V enthält Adj [ u] alle Knoten, die zu u Adj u enthält alle Knoten u,v. adjazent sind. Äquivalent, [ ] v, so dass ( ) E Knoten in [ u] Adj sind in beliebiger Reihenfolge gespeichert. 6
7 Darstellung von Graphen Adjazenzlisten (2) Ist G gerichtet, so enthalten alle Listen in Adj zusammen genau E Einträge. Ist G ungerichete, so enthalten alle Listen in Adj zusammen genau 2 E Einträge, denn eine Kante (u,v) führt zu Eintrag v in Adj [ u] und zu Eintrag Adj v. u in [ ] 7
8 Darstellung von ungerichteten Graphen Adjazenzlisten / / 2 4 / / 4 2 / 8
9 Darstellung von gerichteten Graphen Adjazenzlisten / 5 / 6 5 / 2 / 4 / 6 / 9
10 Darstellung von Graphen Adjazenzmatrix Für die Adjazenzmatrix-Darstellung eines Graphen nehmen wir an, dass die Knoten in V mit den Zahlen von K,, V nummeriert sind. Die Adjazenzmatrix von G ist dann eine A = ( a ij ) mit, falls ( i, j) E a ij =. 0, sonst V V Matrix Ist G ein ungerichteter Graph, so ist die Matrix A symmetrisch, d.h. für alle (i,j) gilt a = a. Adjazenmatrix benötigt immer Speicher ( ) 2 V ij ji Θ. 0
11 Darstellung von ungerichteten Graphen - Adjazenzmatrix
12 Darstellung von gerichteten Graphen - Adjazenzmatrix
13 Vergleich der Darstellungen Die Adjazenzlisten-Darstellung ist besser, wenn E 2 viel kleiner ist als V, also bei dünn besetzten Graphen. Die Adjazenzmatrix-Darstellung ist besser, wenn E etwa so groß ist wie Graphen. 2 V, also bei dicht besetzten Mit Adjazenzmatrix kann bei je zwei Knoten u,v in konstanter Zeit überprüft werden, ob ( u,v ) E. Die meisten Graphenalgorithmen in dieser Vorlesung benutzen allerdings Adjazenzlisten. 3
14 Breitensuche Überblick () Die Breitensuche ist ein Algorithmus, der die Grundlage vieler Graphenalgorithmen bildet. Ziel der Breitensuche ist es, bei einem Graphen G=(V,E) und einer Quelle s V alle Knoten v V zu finden, die von s aus erreichbar sind. Dabei ist ein Knoten v von s aus erreichbar, wenn es in G einen Pfad von s nach v gibt. Die Breitensuche berechnet auch für alle Knoten v den Abstand δ ( s,v ) von s zu v. Dabei ist der Abstand von s zu v die minimale Anzahl von Kanten auf einem Pfad von s nach v. 4
15 Breitensuche - Überblick (2) Die Breitensuche bestimmt alle Knoten mit Abstand < k vor den Knoten mit Abstand k. Daher der Name Breitensuche. Graphensuche funktioniert in gleicher Weise bei gerichteten und ungerichteten Graphen. Nehmen an, dass Eingabegraph in Adjazenzlisten- Darstellung gegeben ist. Sagen, dass ein Knoten entdeckt wird, wenn er das erste Mal bei der Breitensuche angetroffen wird. 5
16 Breitensuche - Überblick (3) Wird v entdeckt, während [ u] Adj nach neuen Knoten durchsucht wird, so heisst u Vorgänger von v. Knoten sind entweder weiss, grau oder schwarz. Weiss sind alle noch nicht entdeckten Knoten. Grau sind alle entdeckten Knoten, deren Adjazenzliste noch nicht vollständig nach neuen Knoten durchsucht wurde. Schwarz sind alle anderen Knoten, d.h., schwarze Knoten wurden bereits entdeckt und ihre Adjazenzliste wurde vollständig durchsucht. 6
17 Pseudocode für Breitensuche ( ) jeden Knoten u in V \ { s} do color[ u] WHITE d[ u] π[ NIL color[ u] : = Feld für Farbe von v. Initial [ s] GRAY WHITE. [ ] 0 [ s] NIL d[ u] : = Feld für bislang berechneten { } Abstand zu s. Initial. ( Q,s ) Q { } π [ u] : = Feld für Vorgänger. Initial NIL. do u Dequeue( Q) for v Adj[ u] do if color [ v ] = WHITE then color[ v] GRAY d[ v] d[ u] + π[ u Enqueue( Q,v ) color[ u] BLACK BFS G,s for color 6 d s 7 π 8 Q 9 Enqueue 0 while BFS benutzt Queue für graue Knoten. 7
18 8 Illustration Breitensuche () 0 r v u t s y x w Q s 0 0 r v u t s y x w Q w r
19 9 Illustration Breitensuche (2) 0 r v u t s y x w Q w r r v u t s y x w Q r t 2 x 2
20 Illustration Breitensuche (3) r s 0 t u 2 3 Q= v w x y 20
21 Breitensuche Laufzeitanalyse () Zeilen 2-4 jeweils konstante Zeit. Werden V mal O V. durchlaufen. Damit Zeit ( ) Zeilen 5-9 insgesamt konstante Zeit. Jeder Knoten wird nur einmal in Queue eingefügt und gelöscht. Schleife in Zeilen 2-7 wird für jeden Eintrag v in Adjazenzlisten nur einmal durchlaufen. Zeilen 2-7 pro Durchlauf Zeit O ( ). 2
22 Breitensuche Laufzeitanalyse (3) Gesamtzeit für Durchläufe der Schleife in Zeilen -8 insgesamt O ( E ). Denn Gesamtgröße Θ E. aller Adjazenzlisten ( ) Satz 5.: Bei Eingabe von Graph G=(V,E) und Quelle s besitzt Algorithmus BFS Laufzeit O ( V + E ) 22
23 Pseudocode für Breitensuche ( ) jeden Knoten u in V \ { s} do color[ u] WHITE d[ u] π[ NIL color[ u] : = Feld für Farbe von v. Initial [ s] GRAY WHITE. [ ] 0 [ s] NIL d[ u] : = Feld für bislang berechneten { } Abstand zu s. Initial. ( Q,s ) Q { } π [ u] : = Feld für Vorgänger. Initial NIL. do u Dequeue( Q) for v Adj[ u] do if color [ v ] = WHITE then color[ v] GRAY d[ v] d[ u] + π[ u Enqueue( Q,v ) color[ u] BLACK BFS G,s for color 6 d s 7 π 8 Q 9 Enqueue 0 while BFS benutzt Queue für graue Knoten. 23
24 Breitensuche Erreichbarkeit, Kürzeste Pfade () Lemma 5.2: Sei G= (V,E) ein gerichteter oder ungerichteter Graph. Sei s V beliebig. Für jede Kante ( u,v ) E gilt δ ( s,v) δ( s,u) +. Lemma 5.3: Sei G=(V,E) ein gerichteter oder ungerichteter Graph. Sei s V beliebig und s,g Eingabe für BFS. Nach Beendigung von BFS gilt für jeden Knoten v V d [ v] δ( s,v ). 24
25 Breitensuche Erreichbarkeit, Kürzeste Pfade (2) Lemma 5.4: Die Queue Q enthalte zu einem beliebigen Zeitpunkt des Ablaufs von BFS die Knoten ( v, K, v r ), wobei v der Kopf head [ Q] und v r das Ende tail [ Q] sei. Dann gilt [ v ] d[ v ] + und d[ v ] d[ v ],i =, K,r -. d r i i+ Korollar 5.5: Knoten v i werde während des Ablaufs von BFS vor Knoten v j in die Queue Q eingefügt. Zum Zeitpunkt, an dem v j in die Queue Q eingefügt wird, gilt d [ v ] d[ v ]. i j 25
26 Breitensuche Erreichbarkeit, Kürzeste Pfade (3) Satz 5.6: Sei G=(V,E) ein gerichteter oder ungerichteter Graph. Sei s V beliebig und s,g Eingabe für BFS. Nach Beendigung von BFS gilt für jeden Knoten v V Insbesondere sind die von s aus erreichbaren d v <. Knoten v die Knoten mit [ ] d [ v] = δ( s,v ). Weiter ist für jeden von s aus erreichbaren Knoten v s ein kürzester Pfad von s zu v gegeben durch einen kürzesten Pfad von s zum Vorgänger π [ v] π v,v. von v erweitert um die Kante ( [ ] ) 26
27 Breitensuchbäume Betrachten nach BFS mit Eingabe G,s den Graphen G V, E mit π = ( ) π und Dann gilt π Satz 5.7: ( V, E ) G π = π π ist ein Baum. V π enthält genau die von s aus erreichbaren Knoten in G. Für jeden Knoten v Vπ ist der eindeutige Pfad von s zu v in G ein kürzester Pfad von s zu v in G. π V π E π = { v V π[ v] NIL} { s}. ( π[ v ],v ) v V \ { s} : = { }. π 27
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
MehrFerienkurs 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
MehrDefinition 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.
MehrAlgorithmen 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 /
MehrAlgorithmen 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
MehrKap. 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
MehrKü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
MehrAlgorithmen 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)
MehrLernmodul 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
MehrMotivation 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
MehrLösungsvorschlag Hausübung 8
Lösungsvorschlag Hausübung 8 Peter Kling 16. Juli 2007 Aufgabe 27 Betrachten Sie den Algorithmus Heapsort (vgl. Alg. 1) aus der Vorlesung. Illustrieren Sie die Arbeitsweise von Heapsort am Beispiel des
MehrAlgorithmen 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= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2
1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)
Mehr(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,
MehrAlgorithmen 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
MehrBreitensuche 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;
MehrAlgorithmen 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
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrTheoretische 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
MehrBreiten- und Tiefensuche in Graphen
Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen
MehrKlausur Theoretische Informatik I WS 2004/2005
Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrKap. 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
MehrVorlesung 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Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste
MehrLösungen zu Kapitel 5
Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V
MehrKap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
MehrKodieren Von Graphen
Kodieren Von Graphen Allgemeine Anwendungen: Routenplaner Netzpläne Elektrische Schaltungen Gebäudeerkennung aus Luftaufnahmen Definitionen:? Graph Ein Graph G besteht aus einem geordneten Paar G = (V,E)
MehrGraphen 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
MehrTutoraufgabe 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
MehrAlgorithmen & 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
MehrVorlesung 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
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen
MehrGraphen. Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege.
Graphen Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege. Klausurtermine Nachklausur Do..0.0, 9- Uhr HS V Abschlussklausur Di...0 im AudiMax bisherige Uhrzeit:
MehrGraphenalgorithmen 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
MehrGraphdurchmusterung, 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,
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG 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
MehrRouting 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
MehrTraversierung 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
MehrVorlesung 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
MehrDefinition 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
MehrKapitel 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
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrMatchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)
Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen
MehrExkurs: Graphtraversierung
Sanders: Informatik III November 28, 2006 1 Exkurs: Graphtraversierung Begriffe Graphrepräsentation Erreichbarkeit mittels Tiefensuche Kreise Suchen Sanders: Informatik III November 28, 2006 2 Gerichtete
MehrWie 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
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
MehrGraphen. Graphen und ihre Darstellungen
Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten
MehrEinheit 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)
MehrRouting Algorithmen. Begriffe, Definitionen
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
MehrVorlesung 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.
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrProgrammierkurs 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
MehrProgrammierkurs 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
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrAlgorithmen und Datenstrukturen 14. Vorlesung
Algorithmen und Datenstrukturen. Vorlesung Karl-Heinz Niggl. Juli 006 Graphentheorie: Grundbegriffe Graphen (ungerichtet) 6 Digraph / gerichteter Graph: 6 FG KTuEA, TU Ilmenau AuD 07..006 FG KTuEA, TU
MehrRelationen und Graphentheorie
Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph
MehrWintersemester 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
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
MehrGrundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen
. Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter
Mehr2. 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
MehrVorlesung 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?
MehrEin 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
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 19. Vorlesung Kürzeste Wege & Dijkstras Algorithmus Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Wozu kürzeste Wege? 2 3-8 Modellierung
MehrNAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrQuicksort 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.
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrProgrammiertechnik 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
MehrGraphalgorithmen. Graphen
(Folie 270, Seite 67 im Skript) Graphen (Folie 271, Seite 67 im Skript) Graphen Definition Ein ungerichteter Graph ist ein Paar (V, E), wobei V die Menge der Knoten und E ( V 2) die Menge der Kanten ist.
MehrTutoraufgabe 1 (Suchen in Graphen):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 19. Vorlesung Kürzeste Wege & Dijkstras Algorithmus Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Ergebnisse des 1. Kurztests 14 12 10
MehrWiederholung
Wiederholung Knotenfärbung von Graphen Chromatische Zahl χ(g) Beweis: Jeder planare Graph ist 5-färbbar Vierfarbensatz: Jeder planare Graph ist 4-färbbar. Kantenfärbung: χ (G) = (G) oder (G)+1 Matchings
Mehr12. AuD Tafelübung T-C3
12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf
MehrProgrammiertechnik 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\ 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 )
MehrAlgorithmische 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
Mehr10. Ü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
Mehr9. Ü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
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrKürzeste-Wege-Algorithmen und Datenstrukturen
Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2
MehrBerechnung minimaler Spannbäume. Beispiel
Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau
MehrFlüsse in Netzwerken
Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss
MehrAlgorithmen 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
MehrGraphalgorithmen 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
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
Mehrκ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).
5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende
Mehr3 Klassifikation wichtiger Optimierungsprobleme
3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
MehrDatenstrukturen. 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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrGrundbegriffe der Informatik Tutorium 8
Grundbegriffe der Informatik Tutorium 8 Tutorium Nr. 16 Philipp Oppermann 22. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) 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_15
Mehr