1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
|
|
- Birgit Glöckner
- vor 7 Jahren
- Abrufe
Transkript
1 Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
2 estimmen aufspannender äume u Motivation (Teil 1) gegeben: seien n Städte (/* hier A,,...,E */) und damit ein ungerichteter Graph G (/* in dem zwischen je zwei Städten eine Kante vorkommt */) C A D E gesucht: Teilgraph G von G, in dem es eine Verbindung von jeder Stadt zu jeder anderen Stadt gibt (/* Telefon- bzw. Stromleitungsnetz */) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
3 estimmen aufspannender äume u Motivation (Teil 1, cont.)... mögliche Lösungen C A C A D E D E 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
4 estimmen aufspannender äume u Grundbegriffe es sei G = (V,E) ein ungerichteter Graph G ist zusammenhängend, falls es zu je zwei Knoten x,y V einen Weg w = (v 1,v 2,...,v n-1,v n ) von x nach y in G gibt (/* d.h. v 1 = v und v n = v und { v i,v i+1 } E für alle i mit 1 i n - 1 */) G hat einen Kreis, falls es einen Knoten x V und einen Weg w = (v 1,v 2,...,v n-1,v n ) mit n > 3 von x nach x gibt (/* d.h. v 1 = v n =x */), in dem jeder Knoten außer x nur einmal vorkommt es sei der Graph G = (V,E ) ein Teilgraph von G (/* d.h. es gilt E V V, V V, und E E */) G = (V,E ) ist ein aufspannender aum von G, falls gilt: V = V G ist kreisfrei G ist zusammenhängend. 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
5 estimmen aufspannender äume u Illustration C A C A D E D E C A D E 4/6, Folie 2014 Prof. Steffen Lange - HDa/FbI - Datenstrukturen
6 estimmen aufspannender äume u eine einfache eobachtung es sei G = (V,E) ein ungerichteter Graph mit n Knoten und G = (V,E ) ein aufspannender aum in G Dann hat G genau n - 1 viele Kanten.... falls G weniger Kanten hat, kann G nicht zusammenhängend sein... falls G mehr Kanten hat, kann G nicht kreisfrei sein 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
7 estimmen aufspannender äume u Aufgabenstellung Eingabe: Ausgabe: ein ungerichteter zusammenhängender Graph G = (V,E) ein aufspannender aum G = (V,E ) in G... später betrachten wir dieselbe Aufgabenstellung für kantenbewertete ungerichtete zusammenhängende Graphen und sind daran interessiert, einen aufspannenden aum mit minimalem Gewicht zu bestimmen 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
8 estimmen aufspannender äume u Motivation (Teil 2) gegeben: seien n Städte (/* hier A,,...,E */) und damit ein ungerichteter Graph G (/*... und die Kanten haben die Entfernungen zwischen den Städten als Gewichte */) 3 C A 3 D E gesucht: Teilgraph G von G, in dem es eine Verbindung von jeder Stadt zu jeder anderen Stadt gibt und die Gesamtlänge der Verbindungen minimal sein soll 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
9 estimmen aufspannender äume u Motivation (Teil 2, cont.)... eine Lösung (/* Gesamtlänge der Verbindungen = 20 */)... beste Lösung (/* Gesamtlänge der Verbindungen = 16 */) 3 3 C 3 A C 3 A D E D E 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
10 estimmen aufspannender äume u Datenstruktur eine Menge M von Kanten (/* dient zur Verwaltung der in G potentiell aufzunehmenden Kanten */) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
11 estimmen aufspannender äume u erste algorithmische Idee (1) setze M = E und V = und E = (2) solange E < V - 1 a) wähle eine Kante e = { x,y } aus M und streiche e aus M b) setze V* = V { x,y } und E* = E { e } c) teste, ob der Graph G* = (V*,E*) kreisfrei ist falls ja, so setze V = E* und E = E* falls nein, so ändere V und E nicht... die Laufzeit hängt offenbar davon ab, wie effizient man in c) testen kann, ob G* = (V*,E*) kreisfrei ist... Verfeinerung: diesen Test möglichst einfach realisieren 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
12 estimmen aufspannender äume u Hintergrund für eine Verfeinerung der algorithmischen Idee es sei G = (V,E) ein ungerichteter Graph es seien die Graphen G 1 = (V 1,E 1 ) und G 2 = (V 2,E 2 ) kreisfreie zusammenhängende Teilgraphen von G mit V 1 V 2 = es sei e = { x,y } E mit x V 1 und y V 2 Dann ist G* = (V*,E*) mit V* = V 1 V 2 und E* = E 1 E 2 { e } ein kreisfreier zusammenhängender Teilgraph von G. G... es ist offenbar essentiell V 1 und V 2 zu kennen und die Menge E 1 E 2 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
13 estimmen aufspannender äume u Illustration G 1 = (V 1,E 1 ) G 2 = (V 2,E 2 ) C A C A D E D E C A G* = (V*,E*), wobei e = {,E } ist D E 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
14 estimmen aufspannender äume u Grundbegriff es sei O eine Menge von Objekten es sei K = { M 1,M 2,...,M k } (/* mit 1 k n */) eine Menge von nicht-leeren Teilmengen von O K ist eine Klasseneinteilung der Menge O, falls gilt: für alle alle i,j mit 1 i,j k gilt: M i M j = (/* die Mengen von K sind paarweise disjunkt */) O = M 1 M 2... M k (/* jedes Objekt aus O kommt in einer Menge von K vor */) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
15 estimmen aufspannender äume u verfeinerte algorithmische Idee (1) setze M = E, E = und bilde die Klasseneinteilung K = { { x } x V } (2) solange E < V - 1 a) wähle eine Kante e = { x,y } aus M und streiche e aus M b) bestimme V 1,V 2 K mit x V 1 und y V 2 c) teste, ob V 1 V 2 gilt falls ja, so setze E = E { e }, streiche V 1 und V 2 aus der Klasseneinteilung K und füge die Menge V = V 1 V 2 zur Klasseneinteilung K hinzu (/* für alle V* K ist der durch V* induzierte Teilgraph G* = (V*,E(V*)) kreisfrei und zusammenhängend; V(E*) = { { x,y } E x,y V* } */) falls nein, so ändere E nicht... zur Verwaltung der Klasseneinteilung K verwendet man eine spezielle Datenstruktur (/* Union-Find-Struktur genannt */) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
16 estimmen minimal aufspannender äume u Illustration M = { { A, },{ A,C },{,C },{ A,D },... } E = K = { { A },{ },{ C },{ D },{ E } } C A M = { { A,C },{,C },{ A,D },... } E = { { A, } } K = { { A, },{ C },{ D },{ E } } D E M = { {,C },{ A,D },... } E = { { A, },{ A,C } } K = { { A,,C },{ D },{ E } } M = { { A,D },... } E = { { A, },{ A,C } } K = { { A,,C },{ D },{ E } } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
17 Union-Find-Strukturen u Grundidee es sei O = { o 1,...,o n } die Grundmenge der betrachteten Objekte (/* in unserem Fall sind das die Knoten von G */) wir interessieren uns für die Verwaltung von Klasseneinteilungen K von O (/* d.h. K = { M 1,...,M k } mit M 1... M k = O und die Mengen M 1,...,M k sind paarweise disjunkt */) die Anzahl der verwalteten Mengen ändert sich über die Zeit zentrale Operation: Vereinigung disjunkter Mengen... Zugriff auf die Mengen??? 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
18 Union-Find-Strukturen u Namensgebung von Mengen o 1,...,o n dienen als Namen für die Einermengen { o 1 },...,{ o n } allgemein dient ein ausgezeichnetes Element o M als Name für eine Teilmenge M O u relevante Operation union(o i,o k ) Menge der verwalteten Mengen ändern, indem die Mengen mit den Namen o i bzw. o k vereinigt werden find(o) den Namen der Menge bestimmen, die aktuell das Objekt o enthält 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
19 Union-Find-Strukturen u Realisierung von Union-Find-Strukturen (/* konzeptionell */) repräsentiere Mengen als äume beliebiger Ordnung jeder Knoten hat ein Objekt als Label jeder Knoten hat einen Zeiger auf seinen Vater die Wurzel hat einen Zeiger auf sich selbst das Label der Wurzel dient als Name für diese Menge 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
20 Union-Find-Strukturen u Illustration einelementige Mengen 2 { 2 } mehrelementige Mengen 1 { 1,3,,7 } 3 7 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
21 Union-Find-Strukturen u Realisierung von Union-Find-Strukturen (/* konzeptionell */) Find-Operation... gib das Label der Wurzel des aums zurück, in dem das Objekt o gespeichert ist 4... find(6) = find(2) = find(4) = { 2,4,6 } Union-Operation... mache die Wurzel das aums für die Menge o 2 zum Sohn der Wurzel des aums für die Menge o { 2,4,6 } { 1,3 } = { 1,2,3,4,6 } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
22 Union-Find-Strukturen u Implementierung von Union-Find-Strukturen (/* Version 1 */)... verwenden ein eindimensionales Array zur Repräsentation aller äume Väter Objekte zugehörige Mengen: { 1,3,4 } { 2 } {,6 } { 7 } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
23 Union-Find-Strukturen u Implementierung von Union-Find-Strukturen (/* Version 1 */) Initialisierung for ( int o = 1; o <= n; ++o ) v[o] = o;... in Zeit O(n) Union-Operation void union ( int o1, int o2 ) { v[o2] = o1; }... in Zeit O(1) Find-Operation int find ( int o ) { while ( v[o]!= o ) { o = v[o]; } return(o); }... in Zeit O(n) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
24 Union-Find-Strukturen u Implementierung von Union-Find-Strukturen (/* Version 2 */)... verwenden zwei eindimensionale Arrays zur Repräsentation aller äume Väter Mächtigkeit der Mengen Objekte zugehörige Mengen: { 1,3,4 } { 2 } {,6 } { 7 } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
25 Union-Find-Strukturen u Implementierung von Union-Find-Strukturen (/* Version 2 */) Initialisierung for ( int o = 1; o <= n; ++o ) { v[o] = o; m[o] = 1; }... in Zeit O(n) Union-Operation Find-Operation void union ( int o1, int o2 ) { if ( m[o1] > m[o2] ) { v[o2] = o1; m[o1] = m[o1] + m[o2]; } else { v[o1] = o2; m[o2] = m[o2] + m[o1]; } }... wie gehabt... in Zeit O(1)... aber, in Zeit O(log(n)) 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
26 Union-Find-Strukturen u egründung Laufzeit der Find-Operation (/* Version 2 */) für einelementige Mengen gilt: tiefe() log(n) es seien M 1, M 2 Mengen mit n 1 bzw. n 2 Elementen, wobei n 1 n 2 gilt (/* nach IV gilt für die zugehörigen äume 1 und 2 : tiefe( 1 ) log(n 1 ) und tiefe( 2 ) log(n 2 ) */) Fall 1: tiefe() = tiefe( 1 ) à log(n) = log(n 1 + n 2 ) log(n 1 ) tiefe( 1 ) /6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
27 Union-Find-Strukturen u egründung Laufzeit der Find-Operation (/* Version 2 */) für einelementige Mengen gilt: tiefe() log(n) es seien M 1, M 2 Mengen mit n 1 bzw. n 2 Elementen, wobei n 1 n 2 gilt (/* nach IV gilt für die zugehörigen äume 1 und 2 : tiefe( 1 ) log(n 1 ) und tiefe( 2 ) log(n 2 ) */) Fall 2: tiefe() = tiefe( 2 ) + 1 à log(n) = log(n 1 + n 2 ) log(2n 2 ) log(2) + log(n 2 ) 1 + tiefe( 2 ) /6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
28 estimmen minimal aufspannender äume u Datenstruktur eine Menge M von Kanten (/* dient zur Verwaltung der potentiell aufzunehmenden Kanten */) eine Union-Find-Struktur (/* Version 2 */) zur Verwaltung der Knotenmengen, der sukzessive erzeugten kreisfreien zusammenhängenden Teilgraphen 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
29 estimmen minimal aufspannender äume u verfeinerte algorithmische Idee (/* mit Union-Find-Struktur */) (1) setze M = E, setze E = und initialisiere eine Union-Find-Struktur für die Knotenmenge V (2) solange E < V - 1 a) wähle eine Kante e = { x,y } aus M und streiche e aus M b) bestimme a = find(x) und b = find(y) c) teste, ob a b gilt falls ja, so setze E = E { e } und führe die Operation union(a,b) aus falls nein, so ändere E nicht... geht in Zeit O(n) + m*o(1) + m*o(log(n)) (/* falls Variante 2 zur Implementierung von Union-Find-Strukturen verwendet wird */), wobei n die Anzahl der Knoten von G und m die Anzahl der Kanten von G ist 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
30 estimmen minimal aufspannender äume u Illustration A C D E A C D E C A M = { { A, },{ A,C },{,C },{ A,D },... } E = D E A C D E A A C D E M = { { A,C },{,C },{ A,D },... } E = { { A, } } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
31 estimmen minimal aufspannender äume u Illustration A C D E A A C D E C A M = { { A,C },{,C },{ A,D },... } E = { { A, } } D E A C D E A A A D E M = { {,C },{ A,D },... } E = { { A, },{ A,C } } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
32 estimmen minimal aufspannender äume u Illustration A C D E A A A D E C A M = { {,C },{ A,D },... } E = { { A, },{ A,C } } D E A C D E A A A D E M = { { A,D },... } E = { { A, },{ A,C } } 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
33 estimmen minimal aufspannender äume u Grundbegriffe es sei G = (V,E) ein ungerichteter Graph es sei g(.) eine Funktion, die jeder Kante in V eine reelle Zahl zuordnet... das Paar (G,g(.)) heißt ungerichteter kantengewichteter Graph das Gewicht g(g) von G ist die Summe der Gewichte der Kanten von G 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
34 estimmen minimal aufspannender äume u Aufgabenstellung Eingabe: Ausgabe: ein ungerichteter zusammenhängender Graph G = (V,E) und eine zugehörige Gewichtsfunktion g(.) ein aufspannender aum G = (V,E ) in G, der ein minimales Gewicht hat 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
35 estimmen minimal aufspannender äume u Datenstruktur eine Menge M von Kanten (/* dient zur Verwaltung der in G potentiell aufzunehmenden Kanten */) eine Union-Find-Struktur (/* Version 2 */) zur Verwaltung der Knotenmengen, der sukzessive erzeugten kreisfreien zusammenhängenden Teilgraphen 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
36 estimmen minimal aufspannender äume u algorithmische Idee (1) setze M = E, setze E = und initialisiere eine Union-Find-Struktur für die Knotenmenge V (2) solange E < V - 1 a) wähle eine Kante e = { x,y } mit minimalem Gewicht aus M und streiche e aus M b) bestimme a = find(x) und b = find(y) c) teste, ob a b gilt falls ja, so setze E = E { e } und führe die Operation union(a,b) aus falls nein, so ändere E nicht... geht in Zeit O(n) + m*o(m)+ m*o(log(n)) (/* falls Variante 2 zur Implementierung von Union-Find-Strukturen verwendet wird */), wobei n die Anzahl der Knoten von G und m die Anzahl der Kanten von G ist 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
37 estimmung minimal aufspannender äume u Anmerkung falls man die Menge M, der aufzunehmenden Kanten, mit Hilfe einer Prioritätswarteschlange realisiert (/* Heap, wobei statt ein zur Sicherstellung der Heap-Eigenschaft verwendet wird */), kann 2a) jeweils in Zeit O(log(m)) realisiert werden, wobei m die Anzahl der Kanten von G ist (/* die Initialisierung der Prioritätswarteschlange kostet einmalig Zeit O(m) */)... geht offenbar in Zeit O(n) + O(m) + m*o(log(m)) + m*o(log(n)), wobei n die Anzahl der Knoten von G und m die Anzahl der Kanten von G ist 4/6, Folie Prof. Steffen Lange - HDa/FbI - Datenstrukturen
1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrKapitel 4: Minimal spannende Bäume Gliederung der Vorlesung
Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling
MehrKapitel 4: Minimale spannende Bäume Gliederung der Vorlesung
Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman
MehrKapitel 8: Bipartite Graphen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 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 Minimal aufspannende Bäume Problemstellung Algorithmus von Prim
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
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
MehrKapitel 9: Lineare Programmierung Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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
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
MehrKapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung
Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman
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,
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
MehrKapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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:
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse
MehrKapitel 1: Motivation / Grundlagen Gliederung
Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen
MehrKapitel 2: Sortier- und Selektionsverfahren Gliederung
Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen
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
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 2/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
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
MehrKap. 6.5: Minimale Spannbäume
Kap. 6.5: Minimale Spannbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19./20. VO DAP2 SS 2009 30.6./2.7.2009 1 Anmeldung zur Klausur 31.07.2009 um 10:15
MehrKapitel 3: Untere Schranken für algorithmische Probleme Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
MehrKapitel 3: Kürzeste Pfade Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in
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
Mehr1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen
Gliederung 1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen 1/1, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Effiziente
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
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,
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
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
MehrTheoretische Informatik
Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial
MehrRückblick: Starke Zusammenhangskomponenten
Rückblick: Starke Zusammenhangskomponenten Der Algorithmus von Kosaraju bestimmt die starken Zusammenhangskomponenten eines gerichteten Graphen wie folgt: Schritt 1: Bestimme den transponierten Graphen
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
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. 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
MehrKapitel 4: Komplexitätstheorie Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP 4.3.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 9 Graphen Version vom 13. Dezember 2016 1 / 1 Vorlesung Fortsetzung 13. Dezember
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,
MehrKapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
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
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
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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
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
Mehr4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als
Kapitel 4 Bäume 4.1 Bäume, Datenstrukturen und Algorithmen Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als eine Menge von Knoten und eine Menge von zugehörigen
MehrKapitel 8 Graphenalgorithmen. Minimaler Spannbaum Union-find-Problem Kürzeste Wege
Kapitel 8 Graphenalgorithmen Minimaler Spannbaum Union-find-Problem Kürzeste Wege Rückblick Graphen Modelle für Objekte und Beziehungen untereinander Personen - Bekanntschaften Ereignisse - Abhängigkeiten
MehrManipulation von Mengen
Manipulation von Mengen Thomas Röfer Vorrangwarteschlange Linksbaum Heap HeapSort Union-Find-Strukturen Allgemeiner Rahmen für Mengenmanipulationen Rückblick Hashing Streuspeicherverfahren Hashfunktion
MehrDatenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange
Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung
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
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende
Mehr1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
. Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem
MehrOptimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen
Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrGraphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende
MehrDr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
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.
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)
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
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
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
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
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,
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 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme
10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e
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
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
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
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.:
Mehr2 Eulersche Polyederformel und reguläre Polyeder
6 2 Eulersche Polyederformel und reguläre Polyeder 2.1 Eulersche Polyederformel Formal besteht ein Graph aus einer Knotenmenge X und einer Kantenmenge U. Jede Kante u U ist eine zweielementige Teilmenge
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 /
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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 3 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
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
MehrWerden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
7. 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.
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
Mehr3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
MehrGraphalgorithmen 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 /
MehrMinimum Spanning Tree
1.5 1.5 1.0 0.75.0 0.75 Gegeben ein Graph G = (V, E). Die Knotenmenge V repräsentiere eine Menge von Spezies. Jede Kante e = (v,u) ist beschriftet mit der evolutionäre Distanz w(v,u) (Kantengewicht) des
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
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
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.
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
MehrSS 2013 1.1-1 / 12
AMPELSTEUERUNG EINER KREUZUNG monika.heiner@informatik.tu-cottbus.de SS 2013 1.1-1 / 12 (A) PROBLEM D C E B A Ziel (1) Sicherheit: keine kollidierenden Wege gleichzeitig, z.b. EB und AD Ziel (2) Maximierung:
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
MehrADS 2: Algorithmen und Datenstrukturen
ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April
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
Mehr