7. Übung Algorithmen I
|
|
- Lars Berg
- vor 7 Jahren
- Abrufe
Transkript
1 Timo Bingmann, Dennis Luxen INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS Timo Bingmann, Dennis Luxen KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische Informatik
2 Balancierte binäre Suchbäume: Red-Black-Trees Timo Bingmann, Dennis Luxen
3 Warum balancierte Bäume? 3 Timo Bingmann, Dennis Luxen
4 Warum balancierte Bäume? 3 Timo Bingmann, Dennis Luxen
5 Warum balancierte Bäume? 3 3 Timo Bingmann, Dennis Luxen
6 Warum balancierte Bäume? Timo Bingmann, Dennis Luxen
7 Warum balancierte Bäume? Timo Bingmann, Dennis Luxen
8 Warum balancierte Bäume? 3 Höhe: h O(n) Suchen: WC O(n) Löschen: WC O(n) Einfügen: WC O(n) Geht das besser? Timo Bingmann, Dennis Luxen
9 Warum balancierte Bäume? 3 4 Höhe: h O(n) Suchen: WC O(n) Löschen: WC O(n) Einfügen: WC O(n) Geht das besser? Idee : Alle möglichen Pfade etwa gleich lang. 5 3 Timo Bingmann, Dennis Luxen
10 Warum balancierte Bäume? 3 4 Höhe: h O(n) Suchen: WC O(n) Löschen: WC O(n) Einfügen: WC O(n) Geht das besser? Idee : Alle möglichen Pfade etwa gleich lang. 5 Idee : An jedem Knoten Entscheidung möglich, also idealerweise nutzen. 3 Timo Bingmann, Dennis Luxen
11 Warum balancierte Bäume? 3 4 Höhe: h O(n) Suchen: WC O(n) Löschen: WC O(n) Einfügen: WC O(n) Geht das besser? Idee : Alle möglichen Pfade etwa gleich lang. 5 Idee : An jedem Knoten Entscheidung möglich, also idealerweise nutzen. Rot-Schwarz-Bäume mit O(n) Platz und O(log n) Höhe 3 Timo Bingmann, Dennis Luxen
12 Rot-Schwarz-Bäume Eigenschaften eines Rot-Schwarz-Baums: Jeder Knoten ist entweder rot oder schwarz. Die Wurzel ist schwarz. 3 Jedes Blatt (NIL) ist schwarz. 4 Ist ein Knoten rot, so sind beide Kinder schwarz. 5 Für jeden Knoten v gilt, alle Pfade von v zu einem Blatt enthalten dieselbe Zahl schwarzer Knoten, sog. Schwarzhöhe bh(v). 4 Timo Bingmann, Dennis Luxen
13 Rot-Schwarz-Bäume Eigenschaften eines Rot-Schwarz-Baums: Jeder Knoten ist entweder rot oder schwarz. Die Wurzel ist schwarz. 3 Jedes Blatt (NIL) ist schwarz. 4 Ist ein Knoten rot, so sind beide Kinder schwarz. 5 Für jeden Knoten v gilt, alle Pfade von v zu einem Blatt enthalten dieselbe Zahl schwarzer Knoten, sog. Schwarzhöhe bh(v). 4 Timo Bingmann, Dennis Luxen
14 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) 5 Timo Bingmann, Dennis Luxen
15 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. 5 Timo Bingmann, Dennis Luxen
16 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. 5 Timo Bingmann, Dennis Luxen
17 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. Beweis(-skizze) per Induktion. bh(x) := 0 0 = 0. 5 Timo Bingmann, Dennis Luxen
18 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. Beweis(-skizze) per Induktion. bh(x) := 0 0 = 0. Annahme: Aussage gilt für x, x, und x, x Kinder von x mit h(x) > 0. 5 Timo Bingmann, Dennis Luxen
19 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. Beweis(-skizze) per Induktion. bh(x) := 0 0 = 0. Annahme: Aussage gilt für x, x, und x, x Kinder von x mit h(x) > 0. Wir bemerken: bh(x ) bh(x), und bh(x ) bh(x) bh(x ) bh(x), und bh(x ) bh(x) x x x 5 Timo Bingmann, Dennis Luxen
20 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. Beweis(-skizze) per Induktion. bh(x) := 0 0 = 0. Annahme: Aussage gilt für x, x, und x, x Kinder von x mit h(x) > 0. Wir bemerken: bh(x ) bh(x), und bh(x ) bh(x) bh(x ) bh(x), und bh(x ) bh(x) x x x Nach Annahme haben x, x wenigstens bh(x) innere Knoten. 5 Timo Bingmann, Dennis Luxen
21 Höhe von Rot-Schwarz-Bäumen - I Behauptung: h log(n + ) Betrachte Knoten x und den darunter liegenden Teilbaum. Hilfssatz: Teilbaum unter x hat wenigstens bh(x) innere Knoten. Beweis(-skizze) per Induktion. bh(x) := 0 0 = 0. Annahme: Aussage gilt für x, x, und x, x Kinder von x mit h(x) > 0. Wir bemerken: bh(x ) bh(x), und bh(x ) bh(x) bh(x ) bh(x), und bh(x ) bh(x) x x x Nach Annahme haben x, x wenigstens bh(x) innere Knoten. Baum unterhalb von x hat also bh(x) innere Knoten. 5 Timo Bingmann, Dennis Luxen
22 Höhe von Rot-Schwarz-Bäumen - II Behauptung: h log(n + ) - Fortsetzung Nach Eigenschaft 4 sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz. 6 Timo Bingmann, Dennis Luxen
23 Höhe von Rot-Schwarz-Bäumen - II Behauptung: h log(n + ) - Fortsetzung Nach Eigenschaft 4 sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz. Einsetzen in vorheriges Ergebnis: n h/ 6 Timo Bingmann, Dennis Luxen
24 Höhe von Rot-Schwarz-Bäumen - II Behauptung: h log(n + ) - Fortsetzung Nach Eigenschaft 4 sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz. Einsetzen in vorheriges Ergebnis: n h/ h log(n + ) h O(log n). 6 Timo Bingmann, Dennis Luxen
25 Höhe von Rot-Schwarz-Bäumen - II Behauptung: h log(n + ) - Fortsetzung Nach Eigenschaft 4 sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz. Einsetzen in vorheriges Ergebnis: n h/ h log(n + ) h O(log n). Höhe eines Rot-Schwarz-Baums ist logarithmisch in der Knotenzahl. 6 Timo Bingmann, Dennis Luxen
26 Höhe von Rot-Schwarz-Bäumen - II Behauptung: h log(n + ) - Fortsetzung Nach Eigenschaft 4 sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz. Einsetzen in vorheriges Ergebnis: n h/ h log(n + ) h O(log n). Höhe eines Rot-Schwarz-Baums ist logarithmisch in der Knotenzahl. Suchen offensichtlich in O(log n). Einfügen, Löschen auch in O(log n), wenn Aufwand nur von der Höhe des Baums abhängt. 6 Timo Bingmann, Dennis Luxen
27 Insert und Delete sind problematisch Einfügen Insert wie in normalen binären Suchbaum Einfügen kann RB-Eigenschaften verletzen. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften reparieren 7 Timo Bingmann, Dennis Luxen
28 Insert und Delete sind problematisch Einfügen Insert wie in normalen binären Suchbaum Einfügen kann RB-Eigenschaften verletzen. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften reparieren Reparatur durch zwei grundlegende Operationen: Umfärbung von Knoten Rotation von Teilbäumen 7 Timo Bingmann, Dennis Luxen
29 Was ist eine Rotation? Lokale Operation, die binäre Suchbaumeigenschaft erhält. Umhängen einer konstanten Zahl an Pointern pro Teilbaum 8 Timo Bingmann, Dennis Luxen
30 Was ist eine Rotation? Lokale Operation, die binäre Suchbaumeigenschaft erhält. Umhängen einer konstanten Zahl an Pointern pro Teilbaum x y Linksrotation Rechtsrotation x y 8 Timo Bingmann, Dennis Luxen
31 Pseudo-Code: Links-Rotation leftrotate(t,x) : y right[x] : right[x] left[y] 3: p[left[y]] x 4: p[y] p[x] 5: if p[x] = nil[t ] then 6: root[t ] y 7: else 8: if x = left[p[x]] then 9: left[p[x]] y 0: else : right[p[x]] y : end if 3: end if 4: left[y] x 5: p[x] y x y Linksrotation x y 9 Timo Bingmann, Dennis Luxen
32 Inserts in Rot-Schwarz-Bäumen Fall : Situation: Baum ist leer Erzeugen neuer Wurzel RB-Eigenschaft verletzt N 0 Timo Bingmann, Dennis Luxen
33 Inserts in Rot-Schwarz-Bäumen Fall : Situation: Baum ist leer Erzeugen neuer Wurzel RB-Eigenschaft verletzt Lösung: Umfärben der Wurzel N N 0 Timo Bingmann, Dennis Luxen
34 Inserts in Rot-Schwarz-Bäumen Fall : Situation: Vaterknoten schwarz Pfade haben gleiche black height Alle RB-Eigenschaften OK N P 0 Timo Bingmann, Dennis Luxen
35 Inserts in Rot-Schwarz-Bäumen Fall 3: Situation: Vater und Onkel rot P G U N 0 Timo Bingmann, Dennis Luxen
36 Inserts in Rot-Schwarz-Bäumen Fall 3: Situation: Vater und Onkel rot Lösung: Onkel und Vater schwärzen Großvater rot färben 3 Rekursiv nach oben fortsetzen 4 Großvater ist Wurzel? Dann wieder schwärzen N P G U N P G U 0 Timo Bingmann, Dennis Luxen
37 Inserts in Rot-Schwarz-Bäumen Fall 4: Situation: Keinen oder schwarzen Onkel Neuer Knoten rechts an rotem Vater 3 Vater links an Großvater P G N U 0 Timo Bingmann, Dennis Luxen
38 Inserts in Rot-Schwarz-Bäumen Fall 4: Situation: Keinen oder schwarzen Onkel Neuer Knoten rechts an rotem Vater 3 Vater links an Großvater G G Lösung: Linksrotation um Vater Problem: zwei rote Knoten auf Pfad benachbart 3 Lösung per Fall 5! P N U P N U 0 Timo Bingmann, Dennis Luxen
39 Inserts in Rot-Schwarz-Bäumen Fall 5: Situation: Keinen oder schwarzen Onkel Neuer Knoten links an rotem Vater 3 Vater links an Großvater P G U N 0 Timo Bingmann, Dennis Luxen
40 Inserts in Rot-Schwarz-Bäumen Fall 5: Situation: Keinen oder schwarzen Onkel Neuer Knoten links an rotem Vater 3 Vater links an Großvater Lösung: Rechtsrotation um Großvater Andere Richtungen Analog Löschen nur etwas komplizierter N P G U N P G U 0 Timo Bingmann, Dennis Luxen
41 Aufwandsabschätzung Speicher: Bit pro Knoten für Farbe Zeit: Konstanter Aufwand pro Knoten Färben/Rotieren Maximal O(log n) Rekursionstiefe Timo Bingmann, Dennis Luxen
42 Aufwandsabschätzung Speicher: Bit pro Knoten für Farbe Zeit: Konstanter Aufwand pro Knoten Färben/Rotieren Maximal O(log n) Rekursionstiefe Ziel erreicht: O(n) Platz und Operationen alle in O(log n). Timo Bingmann, Dennis Luxen
43 Die Zahl binärer Suchbäume Timo Bingmann, Dennis Luxen
44 Alle binäre Suchbäume mit n =,, 3: n = : n = : n = 3: Timo Bingmann, Dennis Luxen
45 Alle binäre Suchbäume mit n = 4: 4 Timo Bingmann, Dennis Luxen
46 Die Anzahl binärer Suchbäume C n x < x > x Bekannte Startwerte: C 0 = 0, C =, C =, C 3 = 5, C 4 = 4. 5 Timo Bingmann, Dennis Luxen
47 Die Anzahl binärer Suchbäume C n x < x > x Bekannte Startwerte: C 0 = 0, C =, C =, C 3 = 5, C 4 = 4. Durch Partitionieren der sortieren Folge: C n = C 0 C n + C C n + + C n C + C n C 0, n > 0. 5 Timo Bingmann, Dennis Luxen
48 Die Anzahl binärer Suchbäume C n x < x > x Bekannte Startwerte: C 0 = 0, C =, C =, C 3 = 5, C 4 = 4. Durch Partitionieren der sortieren Folge: C n = C 0 C n + C C n + + C n C + C n C 0, n > 0. Wende erzeugende Funktionen an: C(z) = C z z n = C(z) zc(z) +. n=0 5 Timo Bingmann, Dennis Luxen
49 Die Anzahl binärer Suchbäume C n x < x > x Bekannte Startwerte: C 0 = 0, C =, C =, C 3 = 5, C 4 = 4. Durch Partitionieren der sortieren Folge: C n = C 0 C n + C C n + + C n C + C n C 0, n > 0. Wende erzeugende Funktionen an: C(z) = n=0 C n heißen die Catalan-Zahlen. C z z n = C(z) zc(z) +. = C n = ( ) n. wie in. Übung n + n 5 Timo Bingmann, Dennis Luxen
50 Notizen zu (a, b)-bäumen B-Bäume sind fast ( m, m)-bäume mit m = B ein Festplatten-Block. 6 Timo Bingmann, Dennis Luxen
51 Insert-Geschwindigkeit (Integer, C++) Microsekunden pro Insert Red-Black Tree verkettete Hashtabelle (, 4)-Baum (6, 3)-Baum (3, 64)-Baum (64, 8)-Baum Anzahl von Elementen 7 Timo Bingmann, Dennis Luxen
52 Locate-Geschwindigkeit (Integer, C++) Microsekunden pro Locate Red-Black Tree verkettete Hashtabelle (, 4)-Baum (6, 3)-Baum (3, 64)-Baum (64, 8)-Baum Anzahl von Elementen 8 Timo Bingmann, Dennis Luxen
53 Speicherverbrauch (Integer, C++) Memory Usage [MiB] Memory Usage Profile - Insertion of Integer Pairs std::multimap gnu_cxx::hash_multimap std::tr::unordered_multimap stx::btree_multimap std::vector std::deque Program Execution Time [s] 9 Timo Bingmann, Dennis Luxen
54 Programmier-Wettbewerb: Assemblierung von DNA-Fragmenten 0 Timo Bingmann, Dennis Luxen
55 Human Genome Project Photo: Steve Jurvetson (CC-BY via flickr) Timo Bingmann, Dennis Luxen
56 Genom des Menschen: 3,3 G Basen CGCAAATTTGCCGGATTTCCTTTGCTGTTCCTGCATGTAGTTTAAACGAGATTGCCAGC ACCGGGTATCATTCACCATTTTTCTTTTCGTTAACTTGCCGTCAGCCTTTTCTTTGACC TCTTCTTTCTGTTCATGTGTATTTGCTGTCTCTTAGCCCAGACTTCCCGTGTCCTTTCC ACCGGGCCTTTGAGAGGTCACAGGGTCTTGATGCTGTGGTCTTCATCTGCAGGTGTCTG ACTTCCAGCAACTGCTGGCCTGTGCCAGGGTGCAAGCTGAGCACTGGAGTGGAGTTTTC CTGTGGAGAGGAGCCATGCCTAGAGTGGGATGGGCCATTGTTCATCTTCTGGCCCCTGT TGTCTGCATGTAACTTAATACCACAACCAGGCATAGGGGAAAGATTGGAGGAAAGATGA GTGAGAGCATCAACTTCTCTCACAACCTAGGCCAGTAAGTAGTGCTTGTGCTCATCTCC TTGGCTGTGATACGTGGCCGGCCCTCGCTCCAGCAGCTGGACCCCTACCTGCCGTCTGC TGCCATCGGAGCCCAAAGCCGGGCTGTGACTGCTCAGACCAGCCGGCTGGAGGGAGGGG CTCAGCAGGTCTGGCTTTGGCCCTGGGAGAGCAGGTGGAAGATCAGGCAGGCCATCGCT GCCACAGAACCCAGTGGATTGGCCTAGGTGGGATCTCTGAGCTCAACAAGCCCTCTCTG Daten: Projekt Gutenberg, oder UCSC Genome Browser, Timo Bingmann, Dennis Luxen
57 Programmier-Wettbewerb DNA-Assemblierung Gegeben: Referenzgenom und Patientengenom. Patientengenom nur als kurze Reads gegeben. Aufgabe: Assembliere das Patientengenome anhand der Referenz. Unser Wettbewerb: Vereinfachte Instanz: erste 50 Mi Basenpaare des ersten Chromosom des Menschen. Preise: Amazon Gutscheine (für Algorithmen-Bücher): 64 Euro, 3 Euro und 6 Euro für die schnellsten drei Assemblierer. Programmiersprache: egal, aber: Test-Platform ist Ubuntu Linux! Erhöhung der Größe wird vorbehalten. 3 Timo Bingmann, Dennis Luxen
58 Programmier-Wettbewerb DNA-Assemblierung Spezifikation der Eingabe: im aktuellen Verzeichnis liegen chr.txt 50 MiB des erste Chromosom des Referenz-Menschen. Datei enthält Zeichen {A, G, C, T, N}. Groß/klein und N ignorieren. reads.txt Reads von einem Patienten. Pro Zeile ein Read. Reads haben verschiedene Längen. Spezifikation der Ausgabe: Schreibe Datei patient.txt mit Chromosom DNA. Auf der Vorlesungs-Website liegen: Ein Beispieldatensatz mit Lösung und ein kleinerer Test-Datensatz. Der Wettbewerb läuft auf einem anderen Datensatz. 4 Timo Bingmann, Dennis Luxen
59 Wettbewerb: DNA-Assemblierung Bewertung des Wettbewerbs: Erstes Kriterium: Abweichung von der korrekten Patienten-DNA. Bei Abweichung 00 Basen: Rechenzeit entscheidet 64 Euro für beste/schnellste Lösung, 3 Euro und 6 Euro für zweiten und dritten Rang. Zeitmessung auf unseren Rechnern: Intel Xeon X GHz (8 cores), 4 GiB RAM Linux Ubuntu.04 LTS Server Abgabe als buildable Sourcecode, Java jar oder ähnliches. Maximale Laufzeit: drei Stunden. Schlusstermin: Mittwoch Timo Bingmann, Dennis Luxen
60 Wettbewerb: DNA-Assemblierung Weitere bekannte Daten: Länge von Reads ungefähr 300 Basenpaare. Abweichung des Patienten vom Referenz-Genom circa 0, %. Reads sind fehlerbehaftet! Fehlerrate circa %. Reads enthalten 0 Kopien der Patienten-DNA. 6 Timo Bingmann, Dennis Luxen
61 Hashing von Zeichenketten Nicht: kryptographische Message Digests (MD5, SHA, etc)! 7 Timo Bingmann, Dennis Luxen
62 Hashing von Zeichenketten Gegeben Zeichenkette s = x 0, x,..., x n. Ganz schlechte Hashfunktion: n h(s) = i=0 x i mod k 8 Timo Bingmann, Dennis Luxen
63 Hashing von Zeichenketten Gegeben Zeichenkette s = x 0, x,..., x n. Ganz schlechte Hashfunktion: n h(s) = i=0 x i mod k Etwas weniger schlechte Hashfunktion: h(s) = x x + 5 x + 7 x 3 + mod k 8 Timo Bingmann, Dennis Luxen
64 Hashing von Zeichenketten Hashfunktion aus frühen BerkeleyDB/SDBM: Als Bitoperationen: uint3 hash(string str) { uint3 h = 0; for (int i = 0; i < str.size(); ++i) h = h * str[i]; return h; } h = (h << 6) + (h << 6) - h + str[i]; 9 Timo Bingmann, Dennis Luxen
65 Moderne Hashfunktionen Fowler Noll Vo Hashfunktion (DNS-Server, Databases) unsigned int hash(string str) { unsigned int h = offset; for (int i = 0; i < str.size(); ++i) { h = h * prime; h = h XOR str[i]; } return h; } Für 3-bit: offset = 66366, prime = Für 64-bit: offset = , prime = Noch aktueller: MurmerHash (Perl, Hadoop, etc) 30 Timo Bingmann, Dennis Luxen
Übung Algorithmen I
Übung Algorithmen I.6.5 Christoph Striecks Christoph.Striecks@kit.edu (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Hinweise zur Übungsklausur (Weitere) Traversierungen von Binärbäumen
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
MehrÜbersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen
Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes
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
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
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
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
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrÜbung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Rot-schwarz Bäume Eigenschaften Rotationen Einfügen (Löschen) 2 Einführung Binäre Suchbäume Höhe h O(h) für Operationen
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
Mehr2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
MehrAlgorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &
Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann heitmann@informatik.uni-hamburg.de 25. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/122
MehrKap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume
Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 12./13. VO DAP2 SS 2009 28.5./2.6.2009 1 Motivation Warum soll
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrRotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y
Die AVL-Eigenschaft soll bei Einfügungen und Streichungen erhalten bleiben. Dafür gibt es zwei mögliche Operationen: -1-2 Rotation Abbildung 3.1: Rotation nach rechts (analog links) -2 +1 z ±1 T 4 Doppelrotation
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 16. Vorlesung Rot-Schwarz-Bäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrTutoraufgabe 1 (Vollständige Induktion): Tutoraufgabe 2 (Rotationen): Datenstrukturen und Algorithmen SS15 Übungsblatt 5 (Abgabe 3.6.
Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Die Hausaufgaben sollen in Gruppen von je - Studierenden aus der gleichen
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrProgrammiertechnik II
Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrLiteratur: Kapitel 2.1 des Skripts Rot-Schwarz-Bäume Kapitel 2.2 des Skripts Treaps Cormen. Kapitel 13, Red-Black-Trees
Algorithmische Anwendungen WS 2006/2007 Praktikum 3: Aufgabe 1: Einfügen eines Knotens ist einen Rot-Schwarz-Baum Aufgabe 2: Erklärungen für die Beobachtungen auf Folie 2.1/67 Aufgabe 3: Zeige wie RB-DELETE-FIXUP
Mehr12. Übung Algorithmen I
12. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und 12. Übung Algorithmen
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
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 Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in
MehrBalancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":
Balancierte Bäume Aufwand, ein Element zu finden, entspricht der Tiefe des gefundenen Knotens im worst case = Tiefe des Baumes liegt zwischen log N und N Definition für "balanciert": es gibt verschiedene
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
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:
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
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 11, Donnerstag, 15.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 11, Donnerstag, 15. Januar 2015 (Balancierte Suchbäume) Junior-Prof. Dr. Olaf Ronneberger
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
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:
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrÜbungsklausur Algorithmen I
Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 20) Übungsblatt 8 Abgabe: Montag, 24.06.20, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes Gruppenmitglieds
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
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
MehrÜbung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 07 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 8 Votierung in der Woche vom 25.06.0729.06.07 Aufgabe 22 AVL-Bäume (a) Geben
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
MehrKonvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510
Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),
MehrSuchbäume balancieren
Suchbäume balancieren Perfekte Balance: schwer aufrechtzuerhalten Flexible Höhe O(log n): balancierte binäre Suchbäume. Nicht hier (Variantenzoo). Flexibler Knotengrad: (a,b)-bäume. Grad zwischen a und
MehrCopyright, Page 1 of 8 AVL-Baum
www.mathematik-netz.de Copyright, Page 1 of 8 AVL-Baum 1. Motivation und Einleitung Das Suchen, Einfügen und entfernen eines Schlüssels in einem zufällige erzeugten binären Suchbaum mit N Schlüsseln ist
MehrAbschnitt 18: Effizientes Suchen in Mengen
Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes
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
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
MehrBeispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
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:
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
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 2. April
MehrBalancierte Suchbäume
Foliensatz 10 Michael Brinkmeier echnische Universität Ilmenau Institut für heoretische Informatik Sommersemester 2009 U Ilmenau Seite 1 / 74 Balancierte Suchbäume U Ilmenau Seite 2 / 74 Balancierte Suchbäume
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
MehrErinnerung VL vom
Erinnerung VL vom 09.05.2016 Analyse von Hashtabellen mit verketteten Listen Erwartete Laufzeit O(1) bei zuf. Hashfkt. und falls M O(m) Guter Ersatz (hier) für zuf. Hashfkt.: universelle Hashfunktionen
MehrKurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 10, Donnerstag 8.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 10, Donnerstag 8. Januar 2015 (Verkettete Listen, Binäre Suchbäume) Junior-Prof. Dr.
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
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
MehrAlgorithmen und Datenstrukturen I AVL-Bäume
Algorithmen und Datenstrukturen I AVL-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 01.12.2017 14:42 Algorithmen und Datenstrukturen I, AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum
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
MehrTutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
MehrWiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.
Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten
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
Mehr3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr
3. Binäre Suchbäume 3.1 Natürliche binäre Suchbäume Definition 18 Ein natürlicher binärer Suchbaum über einem durch total geordneten Universum U ist ein als interner Suchbaum organisierter Binärbaum (also:
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Mehr1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee
AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten
MehrWünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)
.6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
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
MehrDatenstrukturen und Algorithmen. 7. Suchen in linearen Feldern
Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische
Mehr4.3 Bäume. Definition des Baumes. Bäume sind eine sehr wichtige Datenstruktur der Informatik.
4.3 Bäume Bäume sind eine sehr wichtige Datenstruktur der Informatik. Definition des Baumes Ein Baum besteht aus einer nichtleeren Menge von Knoten und einer Menge von Kanten. Jede Kante verbindet genau
Mehr1. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrDatenstrukturen. Kapitel III. Datenstrukturen
Kapitel III Datenstrukturen 88 89 Inhalt Kapitel III 1 Dynamische Mengen und binäre Suchbäume Dynamische Mengen Binäre Suchbäume 2 AVL-Bäume 3 B-Bäume 4 Rot-Schwarz-Bäume Operationen auf Rot-Schwarz Bäumen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrMusterlösung Datenstrukturen und Algorithmen
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
Mehr3. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrKap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009
Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16. Januar 2013 (Balancierte Suchbäume) Junior-Prof. Dr. Olaf Ronneberger
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
MehrNAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
MehrSortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
Mehr9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen
9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume
Übersicht Datenstrukturen und lgorithmen Vorlesung : Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-/dsal/ 1 Suche Einfügen
MehrEs sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:
Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Balancierte Binärbäume Der ausgeglichene binäre Suchbaum verursacht
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrKlausur Informatik B. Teil 1: Informatik 3 Juli 2005
Klausur Informatik B Teil 1: Informatik 3 Juli 2005 ACHTUNG Die vorliegende wurde im Juli 2005 geschrieben. Sie umfaßt lediglich den Informatik-3-Teil der Informatik-B-Klausur und ist für eine Bearbeitungszeit
MehrTutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Übung F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe ( Bäume): a) Löschen Sie den Wert aus dem folgenden Baum und geben Sie den dabei
MehrSuchen in linearen Feldern. Datenstrukturen & Algorithmen. Laufzeitverhalten der Suchverfahren. Anzahl der Vergleiche für 10 9 Elemente
Suchen in linearen Feldern Datenstruturen & Algorithmen VO 708.031 11. Vorlesung, am 11.Dez. 2008 Ohne Vorsortierung Sequentielle Suche Speicherung nach Zugriffswahrscheinlicheiten Selbstanordnende Felder
MehrPunkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.
Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2
Mehr13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
MehrVoronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
Mehr