Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen. Fibonacci-Heaps. Sándor Fekete. Wednesday, 27 June, 12
|
|
- Ursula Dittmar
- vor 5 Jahren
- Abrufe
Transkript
1 Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Fibonacci-Heaps Sándor Fekete
2 Fibonacci-Heaps Idee: Dynamische Datenstruktur bei sich änderenden Schlüsselwerten Fredman und Tarjan 1987 Kontext: Dijkstra Zeiten: 2
3 Heaps Struktur: Schlüsselwerte nach Größe angeordnet 3
4 Fibonacci-Heaps: Struktur Vereinigung von aufwärts sortierten Bäumen Wurzeln per zyklischer doppelt verketteter Liste zusammengefasst ( Schlüsselbund ) Pointer auf globales Minimum Einige Knoten markiert 4
5 Fibonacci-Heaps: Größen D[x]: Grad von Knoten x mark[x]: Markierung von Knoten x t(h): Zahl der Bäume m(h): Zahl der markierten Knoten P(H)=t(H)+2m(H): Potential von H t(h)=5, m(h)=3, P(H)=11 5
6 Fibonacci-Heaps: Einfügen Neues Element als Baum mit einem Knoten Einfügen links vom Baum mit globalem Minimum Ggf. globales Minimum aktualisieren 6
7 Fibonacci-Heaps: Einfügen Neues Element als Baum mit einem Knoten Einfügen links vom Baum mit globalem Minimum Ggf. globales Minimum aktualisieren Kosten: O(1) Änderung in Potential: +1 Amortisiert: O(1) 7
8 Fibonacci-Heaps: Vereinigung Füge Bäume zusammen Verschmelze Wurzellisten 8
9 Fibonacci-Heaps: Vereinigung Füge Bäume zusammen Verschmelze Wurzellisten 9
10 Fibonacci-Heaps: Vereinigung Füge Bäume zusammen Verschmelze Wurzellisten Kosten: O(1) Änderung in Potential: 0 Amortisiert: O(1) 10
11 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. 11
12 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 12
13 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 13
14 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 14
15 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 15
16 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 16
17 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 17
18 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 18
19 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 19
20 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 20
21 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 21
22 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 22
23 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 23
24 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 24
25 Fibonacci-Heaps: Delete Min Lösche Minimum und füge Kinder in Wurzelliste ein. Bereinige Bäume, so dass keine zwei denselben Grad haben. 25
26 Fibonacci-Heaps: Delete Min D(n): Maximalgrad eines Knotens in Fibonacci-Heap mit n Knoten t(h): Zahl der Bäume P(H)=t(H)+2m(H) Kosten: O(D(n)+t(H)) Amortisierte Kosten: O(D(n)) Man kann zeigen: D(n)=O(log n) 26
27 Fibonacci-Heaps: Decrease Key Fall 0: Heap-Eigenschaft bleibt erhalten - Verringere Wert - Aktualisiere ggf. globales Minimum 27
28 Fibonacci-Heaps: Decrease Key Fall 1: Vaterknoten ist unmarkiert. - Verringere Wert - Lösche Verbindung zum Vaterknoten. - Markiere Vaterknoten - Füge abgeschnittenen Baum an Wurzel ein. 28
29 Fibonacci-Heaps: Decrease Key Fall 1: Vaterknoten ist unmarkiert. - Verringere Wert - Lösche Verbindung zum Vaterknoten. - Markiere Vaterknoten - Füge abgeschnittenen Baum an Wurzel ein. 29
30 Fibonacci-Heaps: Decrease Key Fall 1: Vaterknoten ist unmarkiert. - Verringere Wert - Lösche Verbindung zum Vaterknoten. - Markiere Vaterknoten - Füge abgeschnittenen Baum an Wurzel ein. 30
31 Fibonacci-Heaps: Decrease Key Fall 2: Vaterknoten p[x] von x ist markiert. - Verringere Wert von x - Lösche Verbindung zwischen x und p[x]. - Füge abgeschnittenen Baum von x an Wurzel ein. - Markiere p[p[x]] falls unmarkiert. - Schneide p[p[x]] ab falls markiert, entferne Markierung, wiederhole 31
32 Fibonacci-Heaps: Decrease Key Fall 2: Vaterknoten p[x] von x ist markiert. - Verringere Wert von x - Lösche Verbindung zwischen x und p[x]. - Füge abgeschnittenen Baum von x an Wurzel ein. - Markiere p[p[x]] falls unmarkiert. - Schneide p[p[x]] ab falls markiert, entferne Markierung, wiederhole 32
33 Fibonacci-Heaps: Decrease Key Fall 2: Vaterknoten p[x] von x ist markiert. - Verringere Wert von x - Lösche Verbindung zwischen x und p[x]. - Füge abgeschnittenen Baum von x an Wurzel ein. - Markiere p[p[x]] falls unmarkiert. - Schneide p[p[x]] ab falls markiert, entferne Markierung, wiederhole 33
34 Fibonacci-Heaps: Decrease Key Fall 2: Vaterknoten p[x] von x ist markiert. - Verringere Wert von x - Lösche Verbindung zwischen x und p[x]. - Füge abgeschnittenen Baum von x an Wurzel ein. - Markiere p[p[x]] falls unmarkiert. - Schneide p[p[x]] ab falls markiert, entferne Markierung, wiederhole 34
35 Fibonacci-Heaps: Decrease Key t(h): Zahl der Bäume m(h): Zahl der markierten Knoten P(H)=t(H)+2m(H) Kosten: O(c) O(1) für Decrease Key O(1) für jede der c Schnittoperationen. Amortisierte Kosten: O(1) t(h )=t(h)+c m(h ) m(h)-c+2 P(H) c+2(-c+2)=4-c 35
36 Fibonacci-Heaps: Gradbeschränkung Man kann zeigen: D(n)=O(log n) 36
37 Fibonacci-Heaps: Schlusswort 37
38 Mehr in den Literaturverweisen! 38
Mergeable 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
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
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
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
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,
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
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
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,
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
MehrKürzeste Wege Algorithmen und Datenstrukturen
Kürzeste Wege Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teile 1 und 2 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 Fibonacci-Heaps) Prof. Dr. Susanne Albers Vorrangswarteschlangen Bekannte Datenstrukturen zum Einfügen und Entfernen von Elementen Stapel (Stack):
MehrVorrangswarteschlangen:Operationen
Fibonacci Heaps Vorrangswarteschlangen:Operationen (Vorrangs)warteschlange Q Operationen: Q.initialize(): erstellt die leere Schlange Q Q.isEmpty(): liefert true gdw. Q ist leer Q.insert(e): fügt Eintrag
MehrEffiziente Algorithmen und Datenstrukturen I Kapitel 2: Priority Queues
Effiziente Algorithmen und Datenstrukturen I Kapitel 2: Priority Queues Christian Scheideler WS 2008 28.10.2008 Kapitel 2 1 Priority Queue 5 8 15 12 7 3 28.10.2008 Kapitel 2 2 Priority Queue insert(10)
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
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.6 AVL-Bäume 4.8 Rot-Schwarz-Bäume Idee: Verwende Farben, um den Baum vertikal zu
Mehrmarkiert, 0: unmarkiert.)
(Dietzfelbinger, 08.01.2013) 4.2 Fibonacci-Heaps Fibonacci-Heaps implementieren adressierbare Priority Queues (siehe Anfang von Kap. 4). Es werden alle dort angegebenen Operationen implementiert. Wie ein
MehrFibonacci-Heaps. VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11
Fibonacci-Heaps VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 26. VO 06./07.02.2006 1 1 Literatur für diese VO T. Ottmann und P. Widmayer: Algorithmen und
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
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2013/14 Prof. Dr. Sándor Fekete 1 4.6 AVL-Bäume 2 4.8 Rot-Schwarz-Bäume Rudolf Bayer Idee: Verwende Farben, um den
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrGraphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44
Graphalgorithmen II Sebastian Ehrenfels 4.6.2013 Sebastian Ehrenfels Graphalgorithmen II 4.6.2013 1 / 44 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Danksagung Die nachfolgenden Präsentationen wurden
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 6
Grundlagen der Algorithmen und Datenstrukturen Kapitel 6 Christian Scheideler + Helmut Seidl SS 2009 25.05.09 Kapitel 6 1 Priority Queue M: Menge von Elementen Jedes Element e identifiziert über key(e).
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
MehrAbgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrAlgorithmen & Datenstrukturen 2 Praktikum 1
Algorithmen & Datenstrukturen 2 Praktikum 1 Thema: Binomial Heaps Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Ziel dieses Praktikums ist es, die Binomial Heap Datenstruktur in Form einer
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
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
MehrBinomiale Heaps Christian John / Tobias Berger Nr.1
17.01.2003 Christian John / Tobias Berger Nr.1 Gliederung: 1. Binomialer Baum 2. Binomialer Heap 3. Operationen auf Binomialen Heaps 3.1 - make-heap 3.2 - minimum(h) 3.3 - link(y,z) 3.4 - merge(h 1,h 2
MehrDoppelt verkettete Listen (1)
Doppelt verkettete Listen (1) Verkettete Listen bestehen aus einer Menge linear angeordneter Objekte. Anordnung realisiert durch Verweise. Unterstützen Operationen Insert, Delete, Search, usw. (nicht unbedingt
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 Binärer Suchbaum Außerdem wichtig: Struktur der Schlüsselwerte! 2 Ordnungsstruktur Linker
Mehr11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
MehrKapitel Andere dynamische Datenstrukturen
Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2017/2018 Vorlesung#13, 12.12.2017
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrKap. 1: Priority-Queues
Kap. 1: Priority-Queues 1.1 Fibonacci-Heaps Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 2.-4. VO A&D WS 08/09 16./21./23. Oktober 2008 1 Literatur
MehrBeweis: Sei f k die minimale Anzahl von Elementen in einem Fibonacci-Baum mit Wurzel-Rang k. Aus dem vorangehenden Lemma folgt:
Beweis: Sei f k die minimale Anzahl von Elementen in einem Fibonacci-Baum mit Wurzel-Rang k. Aus dem vorangehenden Lemma folgt: f k f k 2 + f k 3 +... + f 0 + }{{} 1 + }{{} 1, 1. Kind Wurzel also (zusammen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 8 Amortisierte Laufzeitanalysen Version vom 6. Dezember 2016 1 / 40 Vorlesung 6.
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
MehrKapitel Andere dynamische Datenstrukturen
Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2018/2019 Vorlesung#15, 18.12.2018
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun und Felix Kuhr (Übungen) sowie viele Tutoren Danksagung Die nachfolgenden Präsentationen
MehrAlgorithmen II. Peter Sanders, Thomas Worsch, Simon Gog. Übungen: Demian Hespe, Yaroslav Akhremtsev
Sanders, Worsch, Gog: Algorithmen II - 18. Dezember 2017 Algorithmen II Peter Sanders, Thomas Worsch, Simon Gog Übungen: Demian Hespe, Yaroslav Akhremtsev Institut für Theoretische Informatik, Algorithmik
Mehr7 Weitere Baumstrukturen und Heapstrukturen
7 Weitere Baumstrukturen und Heapstrukturen Man kann kurze Suchzeiten in Baumstrukturen erreichen durch Rebalancierung bei Einfügungen und Löschungen (AVL Bäume, gewichtsbalancierte Bäume, Bruderbäume,
MehrDatenstrukturen und Algorithmen. Vorlesung 8
Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen
Mehr1. Ü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. Übungsblatt zu Algorithmen II im WS 0/0 http://algo.iti.kit.edu/algorithmenii.php
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 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
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
MehrDynamische Mengen. Realisierungen durch Bäume
Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden
MehrVorrangswarteschlangen: Operationen
Binomial Heaps Vorrangswarteschlangen: Operationen (Vorrangswarte)schlange (queue) Q Struktur zur Speicherung von Elementen, für die eine Prioritätsordnung definiert ist, und für die folgende Operationen
MehrContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
MehrInformatik II Fibonacci-Heaps & Amortisierte Komplexität
lausthal Informatik II Fibonacci-Heaps & Amortisierte Komplexität. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Motivation für amortisierte Laufzeit Betrachte Stack mit Operationen push,
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,
MehrInformatik II Fibonacci-Heaps & Amortisierte Komplexität
lausthal Informatik II Fibonacci-Heaps & Amortisierte Komplexität. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Motivation für amortisierte Laufzeit Betrachte Stack mit Operationen push,
MehrKürzeste-Wege-Algorithmen
Kürzeste-Wege-Algorithmen Institut für Informatik Universität zu Köln 19. August 2003 Inhaltsverzeichnis 0.1 Dijkstra-Algorithmus......................... 2 0.1.1 Dijkstra in Pidgin-Pascal...................
MehrInformatik II Fibonacci-Heaps & Amortisierte Komplexität
/8/06 lausthal Motivation für amortisierte Laufzeit Informatik II Fibonacci-Heaps & Amortisierte Komplexität. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Betrachte Stack mit Operationen
MehrAlgorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe
MehrSuchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS
Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310
Mehr18. Natürliche Suchbäume
Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile
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:
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..........................
MehrAnwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
Mehr9. Natürliche Suchbäume
Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
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
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
MehrIndexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen
Indexe in Dateien Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Indexe ermöglichen schnellen Zugriff
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
Mehr7. Übung zu Algorithmen I 1. Juni 2016
7. Übung zu Algorithmen I 1. Juni 2016 Lukas Barth lukas.barth@kit.edu (mit Folien von Lisa Kohl) Roadmap Ganzzahliges Sortieren mit reellen Zahlen Schnellere Priority Queues Bucket Queue Radix Heap Organisatorisches
MehrAlgorithmen und Datenstrukturen 12
12. Juli 2012 1 Besprechung Blatt 11 Fragen 2 Binary Search Binäre Suche in Arrays Binäre Suchbäume (Binary Search Tree) 3 Sortierverfahren Allgemein Heapsort Bubblesort Insertionsort Mergesort Quicksort
MehrInformatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1
Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss
MehrTechnische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter
Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente
MehrAuswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
MehrLösungsvorschlag 1. Vorlesung Algorithmentechnik im WS 09/10
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Lösungsvorschlag Vorlesung Algorithmentechnik im WS 09/0 Problem : Dynamisches Array (Amortisierte Analyse) [vgl. Kapitel 0.3 im Skript]
MehrB6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden
Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume
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 /
MehrAlgorithmen I. Tutorium 1-6. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-6. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-23 Überblick 1 Binäre Suchbäume 2 Dennis Felsing Algorithmen I 2/20 Binäre
MehrWintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München
Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 Anwendung: Schreibtisch Operation: insert(task) 2 Anwendung: Schreibtisch An uns wird Arbeit delegiert... Operation:
Mehra) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:
1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 4.1 Grundoperationen Aufgabenstellung: 3 4.1 Grundoperationen Aufgabenstellung: Verwalten
MehrWiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO
Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
MehrInformatik II Bäume zum effizienten Information Retrieval
lausthal Informatik II Bäume zum effizienten Information Retrieval. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als "Schlüssel
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
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrAlgorithmen und Datenstrukturen I Bruder-Bäume
Algorithmen und Datenstrukturen I Bruder-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 11.12.2017 10:50 Algorithmen und Datenstrukturen I, Bruder-Bäume 1/24 Definition ein binärer Baum heißt ein Bruder-Baum,
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 13. April 2018 1 Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
Mehr1 Kürzeste Pfade. mit Wurzel s heißt Kürzester-Pfade-Baum für G. 1 Notfalls fügen wir Hilfskanten mit unendlichen Kantenkosten ein.
1 Kürzeste Pfade Das Problem, einen kürzesten Pfad zwischen zwei Knoten eines Digraphen zu finden, hat vielfältige Anwendungen, zum Beispiel in Informations- und Verkehrsnetzwerken. In den folgenden Abschnitten
MehrSuchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen
Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen
Mehr