Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web:
|
|
- Michael Ritter
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen I Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: (Folien von Peter Sanders) KIT Institut für Theoretische Informatik 1
2 Tiefensuche cross backward tree forward s b e g f d c KIT Institut für Theoretische Informatik 2
3 Tiefensuchschema für G = (V,E) unmark all nodes; init foreach s V do if s is not marked then mark s root(s) DFS(s, s) // make s a root and grow // a new DFS tree rooted at s Procedure DFS(u,v : NodeId) // Explore v coming from u foreach (v,w) E do if w is marked then traversenontreeedge(v, w) else traversetreeedge(v, w) mark w DFS(v,w) backtrack(u,v) // return from v along the incoming edge KIT Institut für Theoretische Informatik 3
4 DFS-Baum init: root(s): traversetreeedge(v, w): parent=,..., : NodeArray of NodeId parent[s]:= s parent[w]:= v tree parent mark s d root(s) dfs(s,s) traversetreeedge(s,b) mark b dfs(s,b) s b s b e g f d c e g f c KIT Institut für Theoretische Informatik 4
5 dfs(s,b) traversetreeedge(b,e) mark(e) dfs(b,e) traversetreeedge(e,g) mark(g) dfs(e,g) traversenontreeedge(g,b) traversetreeedge(g,f) mark(f) dfs(g,f) backtrack(g,f) backtrack(e,g) traversenontreeedge(e,f) traversetreeedge(e,c) mark(c) dfs(e,c) backtrack(e,c) backtrack(b,e) backtrack(s,b) s b e g f d c s b e g f d c s b e g f d c s b e g f d c KIT Institut für Theoretische Informatik 5
6 traversetreeedge(s,d) mark(d) dfs(s,d) traversenontreeedge(d,e) traversenontreeedge(d,f) backtrack(s,d) backtrack(s,s) s b e g f d c s b e g f d c KIT Institut für Theoretische Informatik 6
7 DFS-Nummerierung init: root(s): traversetreeedge(v, w): dfspos=1 : 1..n dfsnum[s]:= dfspos++ dfsnum[w]:= dfspos++ u v : dfsnum[u] < dfsnum[v]. Beobachtung: Knoten auf dem Rekursionsstapel sind bzgl. sortiert tree backward s b e g f cross forward d c 7 6 KIT Institut für Theoretische Informatik 7
8 Fertigstellungszeit init: backtrack(u, v): nishingtime=1 : 1..n nishtime[v]:= nishingtime++ tree backward s b e g f cross forward d c 6 3 KIT Institut für Theoretische Informatik 8
9 Kantenklassizierung bei DFS type dfsnum[v] < nishtime[w] < w is (v, w) dfsnum[w] nishtime[v] marked tree yes yes no forward yes yes yes backward no no yes cross no yes yes forward s tree backward cross KIT Institut für Theoretische Informatik 9
10 Topologische Sortierung Denition 1 Eine lineare Anordnung t der Knoten eines DAGs G = (V,E), in der alle Kanten von kleineren zu gröÿeren Knoten verlaufen, heiÿt topologische Sortierung, d. h. (u,v) E : t(u) < t(v). Beispiel: topologisch sortierter Kleidergraph, Quelle: Wikipedia Kleidergraph, Quelle: Wikipedia KIT Institut für Theoretische Informatik 10
11 Topologisches Sortieren mittels DFS Theorem 2 G ist kreisfrei (DAG) DFS ndet keine Rückwärtskante. In diesem Fall liefert t(v):= n nishtime[v] eine topologische Sortierung. KIT Institut für Theoretische Informatik 11
12 Topologisches Sortieren mittels DFS Theorem 2 G ist kreisfrei (DAG) DFS ndet keine Rückwärtskante. In diesem Fall liefert t(v):= n nishtime[v] eine topologische Sortierung. Beweis : Annahme: Rückwärtskante. Zusammen mit Baumkanten ergibt sich ein Kreis. Widerspruch. forward s tree backward cross KIT Institut für Theoretische Informatik 11
13 Topologisches Sortieren mittels DFS Satz: G kreisfrei (DAG) DFS ndet keine Rückwärtskante. In diesem Fall liefert t(v):= n nishtime[v] eine topologische Sortierung, d. h. (u,v) E : t(u) < t(v). Beweis : Keine Rückwärtskante Kantenklassizierung {}}{ (v,w) E : nishtime[v] > nishtime[w] G ist kreisfrei und nishtime deniert umgekehrte topologische Sortierung. KIT Institut für Theoretische Informatik 12
14 Starke Zusammenhangskomponenten Betrachte die Relation mit u v falls Pfad u,...,v und Pfad v,...,u. Beobachtung: ist Äquivalenzrelation Die Äquivalenzklassen von bezeichnet man als starke Zusammenhangskomponenten. Übung DFS-basierter Linearzeitalgorithmus Algorithmen II KIT Institut für Theoretische Informatik 13
15 Mehr DFS-basierte Linearzeitalgorithmen 2-zusammenhängende Komponenten: bei Entfernen eines Knotens aus einer Komponente bleibt diese zusammenhängend (ungerichtet) 3-zusammenhängende Komponenten Planaritätstest (lässt sich der Graph kreuzungsfrei zeichnen?) Einbettung planarer Graphen KIT Institut für Theoretische Informatik 14
16 BFS DFS pro BFS: nichtrekursiv keine Vorwärtskanten kürzeste Wege, Umgebung pro DFS: keine explizite Datenstruktur (Rekursionsstapel) für ToDos, daher mglw. einfacher Grundlage vieler Algorithmen s tree forward backward cross KIT Institut für Theoretische Informatik 15
17 Kap. 10: Kürzeste Wege Eingabe: Graph G = (V,E) mit Kostenfunktion/Kantengewicht c : E R sowie Startknoten s. 3.0 km Ausgabe: für alle v V : Länge µ(v) des kürzesten Pfades von s nach v, µ(v) := min{c(p) : p ist Pfad von s nach v} mit c( e 1,...,e k ) := k i=1 c(e i). KIT Institut für Theoretische Informatik 16
18 Kap. 10: Kürzeste Wege Eingabe: Graph G = (V,E) mit Kostenfunktion/Kantengewicht c : E R sowie Startknoten s. 3.0 km Ausgabe: für alle v V : Länge µ(v) des kürzesten Pfades von s nach v, µ(v) := min{c(p) : p ist Pfad von s nach v} mit c( e 1,...,e k ) := k i=1 c(e i). Oft wollen wir auch geeignete Repräsentation der kürzesten Pfade. KIT Institut für Theoretische Informatik 16
19 Anwendungen Routenplanung Straÿennetze Spiele Kommunikationsnetze Unterprogramm Flüsse in Netzwerken... Tippfehlerkorrektur Disk Scheduling 3.0 km... KIT Institut für Theoretische Informatik 17
20 Grundlagen Gibt es immer einen kürzesten Pfad? Es kann negative Kreise geben! s p u C q v s p u C (2) q v... weitere Grundlagen just in time KIT Institut für Theoretische Informatik 18
21 Azyklische Graphen später KIT Institut für Theoretische Informatik 19
22 Kantengewichte 0 Alle Gewichte gleich: Breitensuche (BFS)! s b c d e f g tree backward cross forward KIT Institut für Theoretische Informatik 20
23 Dijkstras Algorithmus Nun: Beliebige nichtnegative Kantengewichte Lösung ohne Rechner: M R 0 Distance to M 5 Kanten Fäden Kantengewicht Fadenlänge Knoten Knoten Dann: Am Startknoten anheben. H G F E C N K L P V Q S O J W KIT Institut für Theoretische Informatik 21
24 Korrektheit der Bindfäden Betrachte beliebigen Knoten v mit Hängetiefe d[v]. Pfad mit Hängetiefe: verfolge strae Fäden kürzerer Pfad: falls es einen solchen Pfad gäbe, wäre einer seiner Fäden zerrissen! H G F E C M N K L P V R Q S O J W 0 Distance to M KIT Institut für Theoretische Informatik 22
25 Edsger Wybe Dijkstra ACM Turing Award THE: das erste Mulitasking-OS Semaphor Selbst-stabilisierende Systeme GOTO Statement Considered Harmful Bildquelle: Wikipedia KIT Institut für Theoretische Informatik 23
26 Allgemeine Denitionen Wie bei BFS benutzen wir zwei Knotenarrays: d[v] = aktuelle (vorläuge) Distanz von s nach v Invariante: d[v] µ(v) parent[v] = Vorgänger von v auf dem (vorläugen) kürzesten Pfad von s nach v Invariante: dieser Pfad bezeugt d[v] Initialisierung: d[s] = 0, parent[s] = s d[v] =, parent[v] = s Kante Kante Kante v parent parent parent d[v] KIT Institut für Theoretische Informatik 24
27 Kante (u,v) relaxieren Falls d[u] + c(u,v) < d[v] (vielleicht d[v] = ), setze d[v] := d[u] + c(u,v) und parent[v] := u Invarianten bleiben erhalten! Beobachtung: d[v] kann sich mehrmals ändern! KIT Institut für Theoretische Informatik 25
28 Dijkstras Algorithmus: Pseudocode initialize d, parent all nodes are non-scanned while non-scanned node u with d[u] < u := non-scanned node v with minimal d[v] relax all edges (u,v) out of u u is scanned now Behauptung: Am Ende deniert d die optimalen Entfernungen und parent die zugehörigen Wege KIT Institut für Theoretische Informatik 26
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.
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
Mehr10. Ü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
MehrAlgorithmen I - Tutorium 28 Nr. 11
Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.
MehrAlgorithmen 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 4.06.07 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 Kap.
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
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
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
MehrDijkstra: Laufzeit. Insgesamt: T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n))
Dijkstra: Laufzeit Function Dijkstra(s : NodeId) : NodeArray NodeArray d = {,..., }; parent[s]:= s; d[s] := 0; Q.insert(s) // O(n) while Q 6= /0 do u := Q.deleteMin // apple n foreach edge e =(u,v) 2 E
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
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrErinnerung VL
Erinnerung VL 7.06.016 Bellman-Ford-Algorithmus (Brute-Force-Suche) Varianten des Kürzeste-Wege-Problems (azyklische Graphen) Ausblick: Routenplanung in Straÿennetzwerken Motivation Minimale Spannbäume
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
Mehr3. Übungsblatt zu Algorithmen II im WS 2011/2012
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Moritz Kobitzsch, Dennis Schieferdecker 3. Übungsblatt zu Algorithmen II im WS 20/202 http://algo2.iti.kit.edu/algorithmenii.php
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
MehrErinnerung VL
Erinnerung VL 22.06.2016 Dijkstra: Implementierung, Laufzeit Heute: Negative Kantengewichte (Bellman-Ford) Weitere Variationen (azyklische Graphen) Ausblick: Routenplanung in Straÿennetzwerken Abschluss
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
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;
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
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 )
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.
MehrEffiziente Algorithmen und Datenstrukturen: Kürzeste Wege
Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 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/ws0910
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
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
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
MehrKarlsruher 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
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 13, Donnerstag, 30.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag, 0. Januar 0 (Kürzeste Wege, Dijkstras Algorithmus) Junior-Prof. Dr. Olaf Ronneberger
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
MehrErinnerung VL
Erinnerung VL 06.06.06 Sortierte Folgen: eierlegende Wollmilchsau Suchbäume: binäre und (a, b)-bäume (a, b)-bäume: remove, insert etwas kompliziert (balancieren), aber in logarithmischer Zeit möglich Heute:
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 /
MehrÜ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
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
MehrGrundlagen: 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
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
MehrZweizusammenhang 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
MehrName:... Vorname:... Matr.-Nr.:... Studiengang:...
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
Mehr8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.
8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und
MehrDas 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
MehrDiskrete 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
MehrEffiziente 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
MehrGraphalgorithmen 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
Mehr15. 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
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
MehrGraphalgorithmen Netzwerkalgorithmen. Laufzeit
Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{
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
Mehr11. Ü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 11. Übungsblatt zu Algorithmen I im SS 2010 http://algo2.iti.kit.edu/algorithmeni.php
Mehr1. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
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
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,
MehrKonvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510
Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
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
MehrKeller, 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
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
Mehr3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:
3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),
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.
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,
MehrAlgorithmen 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 29.05.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
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
MehrAlgorithmen 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.
MehrAlgorithmen 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
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrFortgeschrittene 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
MehrHelmut 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).
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
MehrBerechnung von Abständen
3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.
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
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrPolygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem
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
Mehr4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
MehrDatenstrukturen 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
MehrWS 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
Mehr9. Übungsblatt zu Algorithmen I im SoSe 2016
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 9. Übungsblatt zu Algorithmen I im SoSe 06 https//crypto.iti.kit.edu/index.php?id=algo-sose6
MehrEinfü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
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
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)
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
Mehr1 Exploration geordneter Wurzelbäume
Exploration geordneter Wurzelbäume Ein geordneter Wurzelbaum ist ein Baum, bei welchem ein Knoten als Wurzel ausgezeichnet wird und bei welchem die Kinder eines Knotens linear, sagen wir von links nach
MehrKapitel 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
Mehr7. Graphenalgorithmen
7. Graphenalgorithmen Grundlagen: 1. Paar (V, E) heißt gerichteter Graph G, wobei V endl. Menge von Knoten und E V V eine endl. Menge von Kanten ist. Element e = (v,w) E 1 heißt Kante von v nach w 3 (
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 10
Grundlagen der Algorithmen und Datenstrukturen Kapitel 0 Christian Scheideler + Helmut Seidl SS 009 5.06.09 Kapitel 0 Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A 5.06.09
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrAlgorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010
Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
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
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
MehrGrundlagen 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..........................
MehrFreie Bäume und Wälder
(Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrSS10 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
MehrMafI I: Logik & Diskrete Mathematik (F. Hoffmann)
Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob
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.
Mehr1.Aufgabe: Minimal aufspannender Baum
1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus
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
MehrKarlsruher 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 Prof. Dr. P. Sanders..0 Klausur Algorithmen I Aufgae. Kleinaufgaen Punkte
MehrAlgorithmen und Datenstrukturen (WS 2008/09) 79
Kapitel 6 raphen 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