Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44
|
|
- Günter Kerner
- vor 5 Jahren
- Abrufe
Transkript
1 Graphalgorithmen II Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44
2 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
3 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
4 Union-Find-Struktur Union-Find Struktur zur Verwaltung von riesigen Objektmengen Nötige Operationen: Initialisator Union Find Sebastian Ehrenfels Graphalgorithmen II / 44
5 Union-Find Init Behelf: Baumstruktur Die Objekte werden durchnummeriert. Jedes Objekt bekommt sich selbst als Wurzel Find Bei beiden Elementen den Baum bis zur Wurzel hochlaufen. Wenn die Wurzel die gleiche ist besteht eine verbindung. Laufzeit N Sebastian Ehrenfels Graphalgorithmen II / 44
6 Union-Find Union Die Wurzel des einen Baums wird unter die Wurzel des anderen gehängt Laufzeit N (Wurzel muss erst gefunden werden) Sebastian Ehrenfels Graphalgorithmen II / 44
7 Sind I und E in der gleiche Gruppe? Sebastian Ehrenfels Graphalgorithmen II / 44
8 A D I und E sind nicht in der gleichen Gruppe Sebastian Ehrenfels Graphalgorithmen II / 44
9 union(h, N) Sebastian Ehrenfels Graphalgorithmen II / 44
10 Union-Find Problem Laufzeit N bei 10 9 Objekten und Verknüpfungen? Lösung: Optimierungen Sebastian Ehrenfels Graphalgorithmen II / 44
11 Union-Find Pfadkompression Bei jedem Union() wird der kleinere an den grösseren Baum gehängt Der Baum kann nicht tiefer als log(n) werden. Laufzeit log(n) Sebastian Ehrenfels Graphalgorithmen II / 44
12 Union-Find Pfadkompression Bei jedem Find() alle abgelaufenen Knoten direkt an die Wurzel hängen. (macht nur zukünftige Find() schneller) Sehr flacher Baum. Sebastian Ehrenfels Graphalgorithmen II / 44
13 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
14 Fibonacci-Heap Fibonacci-Heap Ein Fibonacci-Heap besteht aus einer Liste von min-heaps Ein Zeiger zeigt auf den Heap an dessen spitze das kleinste Element steht Sebastian Ehrenfels Graphalgorithmen II / 44
15 Fibonacci-Heap (Operationen) Insert Das neue Element wird als neue Wurzel in die Heap-Liste eingefügt Amortisierte Laufzeit: O(1) Merge Die Zwei Listen weden Konkateniert und von den zwei Minimumpointern der kleinere genommen Amortisierte Laufzeit: O(1) Sebastian Ehrenfels Graphalgorithmen II / 44
16 Fibonacci-Heap (extractmin) extractmin Der kleineste Knoten wird gelöscht Die nun losen Kinder werden als neue Heaps in die Liste eingefügt Damit das neue Minimum suchen nicht O(N) dauert wird der Heap erst aufgeräumt: Sebastian Ehrenfels Graphalgorithmen II / 44
17 Fibonacci-Heap (extractmin) Aufräumen jeder Heap wird in ein log(n) langes Array gehasht nach Grad der Wurzel bei Kollision wird der grössere unter den kleineren Wurzelknoten gehängt der Grad erhöt sich um 1 und es wird neu gehasht maximal log(n) viele Heaps neues Minimum suchen in log(n) Amortisierte Laufzeit: O(log(N)) Sebastian Ehrenfels Graphalgorithmen II / 44
18 Fibonacci-Heap (decreasekey) decreasekey Der Neue Wert für den Knoten wird gesezt Wenn der neue Wert kleiner als der des Vaters: ist in neuen Heap schieben und Vater markieren Wenn der Vater bereits Markiert ist, diesen auch in einen neuen Heap schieben und den Vater markieren. So lange rekursiv wiederholen, bis der Vater nicht Markiert oder eine Wurzel ist Amortisierte Laufzeit: O(1) Sebastian Ehrenfels Graphalgorithmen II / 44
19 Fibonacci-Heap (remove) Remove Das zu entfernende Objekt wird auf -INFINITY reduziert, so das es das kleinste ist. extractmin aufrufen Amortisierte Laufzeit: O(log(N)) Sebastian Ehrenfels Graphalgorithmen II / 44
20 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
21 Dijkstra Erweiterungen Aufgabe: Suche den Ausgang aus einem Irrgarten der Fallen enthält, die Türen öffnen oder schliessen. Problem: Kann der Dijkstra-Algorithmus diese Aufgabe lösen? Tafel Sebastian Ehrenfels Graphalgorithmen II / 44
22 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
23 Kürzeste Wege: Bellman-Ford Problem: Negative Kantengewichte Dijksta reicht nicht mehr aus Sebastian Ehrenfels Graphalgorithmen II / 44
24 Kürzeste Wege: Bellman-Ford Berechnung Init: Startknoten hat Dist = 0 restliche Knoten Dist = INF N 1 mal für jede Kante Strecke berechnen und Vorgänger eintragen ein letztes mal für jede Kante Strecke berechnen falls Änderungen auftreten gibt es einen Negativzyklus Sebastian Ehrenfels Graphalgorithmen II / 44
25 Kürzeste Wege: Bellman-Ford Ergebnisfindung Die Weite zu jedem Zielpunkt kann dort abgelesen werden Der Pfad Kann vom Zielpunkt über die Vorgänger verfolgt werden. Sebastian Ehrenfels Graphalgorithmen II / 44
26 Kürzeste Wege: Bellman-Ford Pro Negative Kantengewichte Erkennen von Negativzyklen Alle möglichen Zielknoten Contra Laufzeit O(V E) Sebastian Ehrenfels Graphalgorithmen II / 44
27 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
28 Kürzeste Wege: Floyd-Warshall Ablauf setze die Strecke von jedem Knoten zu jedem ausser sich selbst auf INF setze die bekannten Strecken ein f o r k from 1 to V f o r i from 1 to V f o r j from 1 to V i f d i s t [ i ] [ k ] + d i s t [ k ] [ j ] < d i s t [ i ] [ j ] then d i s t [ i ] [ j ] = d i s t [ i ] [ k ] + d i s t [ k ] [ j ] Laufzeit: O(V 3 ) Sebastian Ehrenfels Graphalgorithmen II / 44
29 Sebastian Ehrenfels Graphalgorithmen II / 44
30 Sebastian Ehrenfels Graphalgorithmen II / 44
31 Kürzeste Wege: Floyd-Warshall Negativzyklen Bei Beginn sind alle Pfade von einem Knoten zu sich selbst 0 Wenn nach dem Ausführen des Algorithmus ein Knoten zu sich selbst negativen Abstand hat, tritt ein Negativzyklus auf (funktioniert im ungerichteten Graphen nicht) Sebastian Ehrenfels Graphalgorithmen II / 44
32 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
33 Minimale Arboreszens Definition Finde einen Spannbaum im gerichteten Graphen mit gegebener Wurzel und minimaler Kantengewichtssumme Chu-Liu/Edmonds Algorithmus: Verwerfe alle eingehenden Kanten zur Wurzel. Wähle für jeden Knoten die eingehende Kante mit geringstem Gewicht. Falls keine Zyklen entstanden sind ist der Spannbaum minimal. Sebastian Ehrenfels Graphalgorithmen II / 44
34 Minimale Arboreszens Zyklen entfernen: Fasse den ganzen Zyklus als virtuellen Knoten zusammen. Passe die Gewichte aller eingehender Kanten nach folgender Formel an: c(o, V ) = c(o, in) (c(f, in) min in {c(f, in)}) wobei: V = Virtueller Knoten, o = Knoten von dem die Kante eingeht, in = ein echter Knoten aus V, f = Knoten aus V von dem aus die Kante die nach in gewählt wurde ausgeht Sebastian Ehrenfels Graphalgorithmen II / 44
35 Minimale Arboreszens Zyklen entfernen: Wähle fuer jeden virtuellen Knoten die eingehende Kante mit geringstem Gewicht. Ersetze dabei die gewählte Kante für den echten Knoten an die die Kante geht. Sebastian Ehrenfels Graphalgorithmen II / 44
36 Sebastian Ehrenfels Graphalgorithmen II / 44
37 Sebastian Ehrenfels Graphalgorithmen II / 44
38 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
39 Euler-Pfad Definition Ein Euler-Pfad ist ein Pfad, der jede Kante im Graph genau einmal benutzt. Der Graph muss zusammenhängend sein. Eingangskantenzahl == Ausgangskantenzahl (ausser Start- und Endknoten des Pfades) Ungerichtet: einfacher: Jeder Knoten muss geraden grad haben (ausser Start- und Endknoten) Sebastian Ehrenfels Graphalgorithmen II / 44
40 Euler-Zyklus Definition Wie Euler-Pfad nur Zyklisch Der Graph muss zusammenhängend sein. Eingangskantenzahl == Ausgangskantenzahl Ungerichtet: einfacher: Jeder Knoten muss geraden grad haben AKA: Start/Endausnahmen fallen weg. Sebastian Ehrenfels Graphalgorithmen II / 44
41 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford Floyd-Warshall 3 Minimale Arboreszens 4 Euler-Pfad/Zyklus 5 Hamilton-Kreis Sebastian Ehrenfels Graphalgorithmen II / 44
42 Hamilton-Kreis Definition Ein Zyklischer Pfad in einem Graphen, der jeden Knoten genau einmal besucht. Problem! NP-Vollstaendig Ähnliches Problem: Travelling Salesman (Minimaler Hamilton-Kreis) Sebastian Ehrenfels Graphalgorithmen II / 44
43 Fragen! Fragen? Sebastian Ehrenfels Graphalgorithmen II / 44
44 Quellen etc Sebastian Ehrenfels Graphalgorithmen II / 44
Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22
Graphalgorithmen II Werner Sembach 14.04.2014 Werner Sembach Graphalgorithmen II 14.04.2014 1 / 22 Übersicht Datenstrukturen Union-Find Fibonacci-Heap Werner Sembach Graphalgorithmen II 14.04.2014 2 /
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
MehrGraphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers
Graphalgorithmen 2 Oleksiy Rybakov 3. Juni 2015 Betreuer: Tobias Werth, Daniel Brinkers 1 / 40 Inhaltsverzeichnis 1 Minimale Spannbäume und Datenstrukturen 2 Kürzeste Wege 3 Spezielle Graphen 2 / 40 Minimale
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kapitel 4: Datenstrukturen Kapitel 4.2: Union-Find-Strukturen Union-Find-Strukturen Gegeben: Datensätze
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
MehrAufgaben 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
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
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
Mehr5. Vorrangwarteschlangen (priority queues)
5. Vorrangwarteschlangen (priority queues) Definition 200 Eine Vorrangwarteschlange (priority queue) ist eine Datenstruktur, die die folgenden Operationen effizient unterstützt: 1 Insert 2 ExtractMin Extrahieren
Mehr24. Minimale Spannbäume
Problem Gegeben: Ungerichteter, zusammenhängender, gewichteter Graph G = (V, E, c). 4. Minimale Spannbäume Gesucht: Minimaler Spannbaum T = (V, E ), E E, so dass e E c(e) minimal. Motivation, Greedy, Algorithmus
Mehr25. Minimale Spannbäume
695 25. Minimale Spannbäume Motivation, Greedy, Algorithmus von Kruskal, Allgemeine Regeln, Union-Find Struktur, Algorithmus von Jarnik, Prim, Dijkstra, Fibonacci Heaps [Ottman/Widmayer, Kap. 9.6, 6.2,
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
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
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,
MehrKap. 6.6: Kürzeste Wege
0.0.00 Nachtest für Ausnahmefälle Kap..: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund./. VO DAP SS 00./. Juli 00 Di. Juli 00, :00 Uhr, OH, R.
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
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
Mehr1 Kürzeste Pfade in Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G
Mehr10 Kürzeste Pfade SSSP-Problem
In diesem Kapitel setzen wir uns mit der Berechnung von kürzesten Pfaden in einem Graphen auseinander. Definition 10.1 (Pfadgewichte). i) Das Gewicht eines Pfades p = (v 0, v 1,..., v k ) ist die Summe
Mehr4.2 Fibonacci-Heaps Aufbau Potenzialfunktion. Knoten v hat folgende Felder:
4.2 Fibonacci-Heaps 4.2.1 Aufbau Knoten v hat folgende Felder: Vaterzeiger p(v) Zeiger auf linkes Geschwister: prev(v) Zeiger auf rechtes Geschwister: next(v) Kindzeiger: child(v) Schlüssel: key: aus U
MehrAlgorithmen und Datenstrukturen Kapitel 9. und
Algorithmen und Datenstrukturen Kapitel 9 Minimale Spannbäume und Kürzeste Pfade Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Dezember 01 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/13
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
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),
Mehr5. Vorrangwarteschlangen - Priority Queues
5. Vorrangwarteschlangen - Priority Queues Priority Queues unterstützen die Operationen Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge(). Priority Queues per se sind nicht für IsElement()-Anfragen,
MehrFolien aus der Vorlesung Optimierung I SS2013
Folien aus der Vorlesung Optimierung I SS2013 Dr. Jens Maßberg Institut für Optimierung und Operations Research, Universität Ulm July 10, 2013 Datenstrukturen für Graphen und Digraphen Graph Scanning Algorithmus
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
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 H.
Mehr2. Das single-source-shortest-path-problem
. Das single-source-shortest-path-problem Zunächst nehmen wir an, dass d 0 ist. Alle kürzesten Pfade von a nach b sind o.b.d.a. einfache Pfade.. Dijkstra s Algorithmus Gegeben: G = (V, A), (A = V V ),
Mehr3.2 Generischer minimaler Spannbaum-Algorithmus
3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen
Mehrmarkiert, 0: unmarkiert.)
4.2 Fibonacci-Heaps Fibonacci-Heaps (F-Heaps) implementieren adressierbare Priority Queues (siehe Anfang von Kap. 4). Wie bei Binomialheaps besteht der Heap aus heapgeordneten Bäumen, jedoch mit gelockerten
MehrAlgorithmen und Datenstrukturen Kapitel 9. und
Algorithmen und Datenstrukturen Kapitel 9 und Kürzeste Pfade Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Dezember 0 Frank Heitmann heitmann@informatik.uni-hamburg.de / Problemstellung Definition
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist
MehrAlgorithmen 1 Tutorium
Algorithmen 1 Tutorium Tutorium 13 Misch Sadler 18. Juli 2011 INHALT: VIELES Übersicht 1 Dynamische Programmierung 2 Wiederholung 3 Klausuraufgaben 4 Ende Misch Sadler Algo 1 Tut 18. Juli 2011 2/21 Übersicht
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
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 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
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
MehrKlausurvorbereitung. 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
MehrGraphalgorithmen. 9. November / 54
Graphalgorithmen 9. November 2017 1 / 54 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
MehrGrundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt
U N S A R I V E R S A V I E I T A S N I S S Grundzüge von Algorithmen und Datenstrukturen, WS /6: Lösungshinweise zum 3. Übungsblatt Christian Hoffmann, Fabian Bendun Aufgabe 3. (a) Sei j i + = n die Größe
MehrProgrammierkurs 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
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum
MehrKap. 6.5: Minimale Spannbäume ff
Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 018/19 1. Vorlesung Minimale Spannbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Motivation ) Kantengewichte w : E R >0 ) w(e ) := e E w(e)
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
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 5: Suchalgorithmen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 20. März 2018 1/91 WIEDERHOLUNG - BÄUME / bin etc home
MehrAlgorithmische Mathematik I
Algorithmische Mathematik I Wintersemester 2011 / 2012 Prof. Dr. Sven Beuchler Peter Zaspel Übungsblatt zur Wiederholung Teil 1. Abgabe am -. Aufgabe 1. a) Was ist eine B-adische Darstellung mit fixer
MehrMergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117
C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 Mergeable Heaps Erweiterung von Standardheaps, die die folgenden fünf Operationen unterstützen. Make-Heappq liefert neuen, leeren Heap. InsertpH, xq fügt
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
MehrADS: 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,
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrMatrikelnummer: Klausur Algorithmen I, Blatt 1 von 16
Klausur Algorithmen I, 7.07.00 Blatt von 6 Aufgabe. Kleinaufgaben [9 Punkte] a. Geben Sie eine Familie von DAGs an, in der alle DAGs Ω(n ) Kanten haben bei n Knoten. Für jedes n N >0 ein Graph G n = (V
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen Jedes Programm verwendet Datenstrukturen und Algorithmen um seine Aufgabe zu erfüllen Diese müssen offenbar zunächst sorgfältig dem speziellen Problem entsprechend ausgewählt
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrPlatzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen. Fibonacci-Heaps. Sándor Fekete. Wednesday, 27 June, 12
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Fibonacci-Heaps Sándor Fekete Fibonacci-Heaps Idee: Dynamische Datenstruktur bei sich änderenden Schlüsselwerten Fredman und Tarjan 1987
MehrDies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.
Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen
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
MehrKarlsruher Institut für Technologie. Klausur Algorithmen I
Klausur-ID: Vorname: Matrikelnummer: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 11. April 2018 Klausur Algorithmen I Aufgabe 1. Kleinaufgaben 15 Punkte
MehrRichtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.
Gegeben sei ein Netzwerk N = (V, A, c, s, t) wie in der Vorlesung. Ein maximaler s-t-fluss kann immer mit Hilfe einer Folge von höchstens A Augmentationsschritten gefunden werden. Wendet man den Dijkstra-Algorithmus
MehrAlgorithmentechnik - 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
MehrKürzeste Wege. Ein Startknoten, nichtnegative Gewichte
Kürzeste Wege Gegeben ein Digraph D = (V, A) mit Bogengewichten c(a). Aufgabe: Finde einen Weg W von einem Knoten zu allen anderen oder zu einem bestimmten mit c(w) minimal. Problem: negative Gewichte
MehrKürzeste Pfade. Organisatorisches. VL-17: Kürzeste Pfade. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger
Organisatorisches VL-17: Kürzeste Pfade (Datenstrukturen und Algorithmen, SS 2017) Walter Unger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,
MehrFibonacci-Heaps und deren Anwendung
Fibonacci-Heaps und deren Anwendung Alexander Schiffel und Stefan Hurtz 24. Juli 2005 Inhaltsverzeichnis 1 Einleitung und Motivation 2 2 Die Datenstruktur 2 3 Amortisierte Laufzeitanalyse 3 4 Grundoperationen
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrKapitel 4: Netzplantechnik Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,
MehrKürzeste (billigste) Wege
Kürzeste (billigste) Wege 1. Kürzeste (billigste) Wege Gerichteter Graph G = (V, E) Kostenfunktion c : E R 1 2 1 3 3 2 4 4 2 6 6 5 3 2 Entfernung zwischen zwei Knoten Kosten eines Wegs P = v 0, v 1,...,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der
MehrInformatik II, SS 2016
Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,
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
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche
MehrEffiziente Algorithmen
Effiziente Algorithmen Martin Hofmann und Jan Johannsen Institut für Informatik LMU München Sommersemester 2002 Graphalgorithmen Grundlegendes Repräsentation von Graphen Breiten- und Tiefensuche Minimale
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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
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
MehrGraphen 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:
MehrAlgorithmen und Datenstrukturen 13
19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr2. Klausur Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder 2. Klausur Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
Mehrp = (v 0, v 1,..., v k )
1 Routenlaner Hamburg 300 km 200 km Berlin 450 km Köln 200 km 400 km Frankfurt 50 km 200 km 150 km Mannheim Saarbrücken 100 km 250 km Stuttgart 200 km Dresden 300 km Nürnberg 200 km München Berechne den
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
MehrADS: 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
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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrÜbersicht. Datenstrukturen und Algorithmen. Das Rechenproblem: kürzeste Pfade. Übersicht. Vorlesung 17: Kürzeste Pfade (K24) Bellman-Ford Dijkstra
Datenstrukturen und Algorithmen Vorlesung 17: (K) Joost-Pieter Katoen Lehrstuhl für Informat Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 1. Juni 15 1 Joost-Pieter
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
MehrDatenstrukturen und Algorithmen D-INFK
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer
MehrLösungsvorschläge zur Hauptklausur Datenstrukturen
Lösungsvorschläge zur Hauptklausur 9 9 166211663 Datenstrukturen 9. August 2003 Seite 2 Lösungsvorschlage zur Klausur vom 9.08.2003 Kurs 166211663,,Datenstrukturen" Aufgabe 1 Bei jedem rekursiven Aufruf
Mehr1 DFS-Bäume in ungerichteten Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet
Mehr1 DFS-Bäume in ungerichteten Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet
MehrVorlesung 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!
MehrKlausur Algorithmentheorie
Prof. Dr. G. Schnitger Frankfurt, den 24.02.2011 M. Poloczek Klausur Algorithmentheorie WS 2010/2011 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen
Mehr