Übung Algorithmen I

Größe: px
Ab Seite anzeigen:

Download "Übung Algorithmen I"

Transkript

1 Übung Algorithmen I.6.5 Christoph Striecks (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.)

2 Roadmap Hinweise zur Übungsklausur (Weitere) Traversierungen von Binärbäumen Die Anzahl binärer Suchbäume Rot-Schwarz-Bäume

3 Organisation Übungsklausur am Montag, dem 8.6.5, um 5.45, im Audimax Freiwillig, keine Prüfungsleistung, aber zur Selbstkontrolle Deckt den ersten Teil der Vorlesung und Übung (bis 7.5.5) ab (Nicht vergessen: Neues Übungsblatt ab heute)

4 (Weitere) Traversierungen von Binärbäumen

5 Traversierungen von Binärbäumen Beispiel: n = 5 Knoten b = 8 Blätter c = 7 innere Knoten h = Höhe

6 Traversierungen von Binärbäumen Beispiel: n = 5 Knoten b = 8 Blätter c = 7 innere Knoten h = Höhe (Level-order-Traversierung.)

7 Traversierungen von Binärbäumen Beispiel: n = 5 Knoten b = 8 Blätter c = 7 innere Knoten h = Höhe (Pre-order-Traversierung.)

8 Traversierungen von Binärbäumen Beispiel: n = 5 Knoten b = 8 Blätter c = 7 innere Knoten h = Höhe (In-order-Traversierung.)

9 Traversierungen von Binärbäumen Beispiel: n = 5 Knoten b = 8 Blätter c = 7 innere Knoten h = Höhe (Post-order-Traversierung.)

10 Die Anzahl binärer Suchbäume

11 Binäre Suchbäume Wiederholung In der Vorlesung: Daten nur an Blättern Hier in der Übung: Daten in allen Knoten Invariante: Für alle Knoten v: w left(v) : w v und w right(v) : w > v

12 Alle binäre Suchbäume mit n =,, : n = : n = : n = :

13 Alle binäre Suchbäume mit n = 4:

14 Die Anzahl binärer Suchbäume C n x < x > x Bekannte Startwerte: C 0 = 0, C =, C =, C = 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. n + n

15 Balancierte binäre Suchbäume: Rot-Schwarz-Bäume

16 Binäre Suchbäume Wiederholung Invariante: Für alle Knoten v: w left(v) : w v und w right(v) : w > v Problem von binären Suchbäumen: können unbalanciert sein Lösung der Vorlesung: (a, b)-bäume Weitere Lösung hier in der Übung: Rot-Schwarz-Bäume

17 Warum balancierte Bäume? 4 5

18 Warum balancierte Bäume? Höhe: h O(n) Suchen: O(n) im Worst Case Löschen: O(n) im Worst Case Einfügen: O(n) im Worst Case 4 5 Geht das besser? Ja, Rot-Schwarz-Bäume garantieren Höhe von O(log n).

19 Rot-Schwarz-Bäume Rot-Schwarz-Bäume sind binäre Suchbäume mit folgenden Eigenschaften: Jeder Knoten ist entweder rot oder schwarz. ( Bit mehr an Information pro Knoten.) Die Wurzel ist schwarz. Jedes Blatt ist schwarz und enthält keine Werte. (Nur innere Knoten enthalten Werte.) Ist ein Knoten rot, so sind beide Kinder schwarz. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Anzahl schwarzer Knoten.

20 Rot-Schwarz-Bäume Rot-Schwarz-Bäume sind binäre Suchbäume mit folgenden Eigenschaften: Jeder Knoten ist entweder rot oder schwarz. ( Bit mehr an Information pro Knoten.) Die Wurzel ist schwarz. Jedes Blatt ist schwarz und enthält keine Werte. (Nur innere Knoten enthalten Werte.) Ist ein Knoten rot, so sind beide Kinder schwarz. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Anzahl schwarzer Knoten

21 Höhe von Rot-Schwarz-Bäumen Satz: Ein Rot-Schwarz-Baum mit n inneren Knoten hat die Höhe h log (n + ). Beweis. Betrachte Teilbaum t x an einem Knoten x Sei sh(x) die Anzahl der schwarzen Knoten auf dem Pfad von x zu einem Blatt ohne x selbst (Schwarzhöhe) Lemma: t x hat mindestens sh(x) innere Knoten. Beweis. Induktion über Höhe h von t x IA: h = 0 = sh(x) = 0 und 0 = 0 IS: Aussage gilt für Kinder x, x von x mit h(x) > 0 Wir bemerken: sh(x i ) sh(x) = t xi hat mind. sh(x) innere Knoten Also hat t x mindestens ( sh(x) ) + = sh(x) innere Knoten

22 Höhe von Rot-Schwarz-Bäumen Satz: Ein Rot-Schwarz-Baum mit n inneren Knoten hat die Höhe h log (n + ). Weiter im Beweis... Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. Lemma. t x hat mindestens sh(x) innere Knoten. Nach Eigenschaft 4 eines Rot-Schwarz-Baumes sind auf allen Pfaden unterhalb der Wurzel mindestens die Hälfte der Knoten schwarz Einsetzen in vorheriges Ergebnis ergibt n h/ und damit h log (n + )

23 Höhe von Rot-Schwarz-Bäumen Anders ausgedrückt: Die Höhe eines Rot-Schwarz-Baums ist logarithmisch in der Anzahl der inneren Knoten, also h log (n + ). Suchen offensichtlich in O(log n) möglich. Einfügen, Löschen auch in O(log n), wenn Aufwand nur von der Höhe des Baums abhängt.

24 Einfügen in Rot-Schwarz-Bäumen Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Einfügen: Einfügen wie in normalen binären Suchbäumen Einfügen kann Rot-Schwarz-Eigenschaften verletzen. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Herstellen der Eigenschaften durch zwei grundlegende Operationen:. Umfärbung von Knoten. Rotation von Teilbäumen

25 Was ist eine Rotation? Lokale Operation, die die binäre Suchbaumeigenschaft erhält Umhängen einer konstanten Zahl an Pointern pro Teilbaum a Linksrotation b b Rechtsrotation a a > b (a, b] > b a (a, b]

26 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Die Wurzel ist schwarz. 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Kein Vorgänger Neuer Knoten ist Wurzel N

27 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Die Wurzel ist schwarz. 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Kein Vorgänger Neuer Knoten ist Wurzel Umfärben N Umfärben N

28 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Ist ein Knoten rot, so sind beide Kinder schwarz. 4. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Schwarzer Vorgänger oder N N

29 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Ist ein Knoten rot, so sind beide Kinder schwarz. 4. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Schwarzer Vorgänger Nichts zu tun oder N N

30 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Ist ein Knoten rot, so sind beide Kinder schwarz. 4. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Roter Vorgänger oder oder oder N N N N

31 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Ist ein Knoten rot, so sind beide Kinder schwarz. 4. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Roter Vorgänger 4 mögliche Strukturen, aber: durch Spiegelung und max. eine Rotation identisch N N N N

32 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung:. Ist ein Knoten rot, so sind beide Kinder schwarz. 4. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Vorgehen: Roten Knoten in binären Suchbaum einfügen und danach Eigenschaften wieder herstellen Roter Vorgänger 4 mögliche Strukturen, aber: durch Spiegelung und max. eine Rotation identisch N

33 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. N

34 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Umfärben N N

35 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Umfärben Rotieren N N N

36 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. N

37 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Umfärben N N

38 Einfügen in Rot-Schwarz-Bäume Zur Erinnerung: 4. Ist ein Knoten rot, so sind beide Kinder schwarz. 5. Für alle Knoten v: Alle Pfade von v zu einem Blatt enthalten die gleiche Zahl schwarzer Knoten. Umfärben Rekursion N N N

39 Rot-Schwarz-Bäume Aufwandsabschätzung Speicher: Bit pro Knoten für die Farbe Parent-Pointer ist nötig Zeit: Konstanter Aufwand pro Knoten (Färben und Rotieren) Maximal O(log n) Rekursionstiefe Ziel erreicht: O(n) Platz und alle Operationen in O(log n).

40 Datenstrukturen in der Wirklichkeit

41 Datenstrukturen in der Wirklichkeit Java Collections java.util.linkedlist<t> java.util.arraylist<t> java.util.arraydeque<t> java.util.priorityqueue<t,c> java.util.treemap<k,v> java.util.treeset<k> java.util.hashtable<k,v> java.util.hashmap<k,v> java.util.hashset<k> C++ STL std::list<t> std::vector<t> std::deque<t> std::priority_queue<t,c> std::map<k,v> std::set<k> std::unordered_map<k,v> std::unordered_set<k>

42 Notizen zu (a, b)-bäumen B-Bäume sind fast ( m, m)-bäume mit m = B ein Festplatten-Block.

43 Insert-Geschwindigkeit (Integer, C++) Microsekunden pro Insert Red-Black Tree verkettete Hashtabelle (, 4)-Baum (6, )-Baum (, 64)-Baum (64, 8)-Baum Anzahl von Elementen

44 Locate-Geschwindigkeit (Integer, C++) Microsekunden pro Locate Red-Black Tree verkettete Hashtabelle (, 4)-Baum (6, )-Baum (, 64)-Baum (64, 8)-Baum Anzahl von Elementen

7. Übung Algorithmen I

7. Übung Algorithmen I 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

Mehr

Binä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 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

Mehr

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.

2 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

Mehr

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen

Ü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

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Ü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)

Mehr

ADS 1: Algorithmen und Datenstrukturen

ADS 1: Algorithmen und Datenstrukturen ADS 1: Algorithmen und Datenstrukturen Teil IX Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 1 Dezember 017 [Letzte Aktualisierung: 04/1/017, 10:56]

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 10.5.17 Sascha Witt [email protected] (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte

Mehr

Tutoraufgabe 1 (Vollständige Induktion):

Tutoraufgabe 1 (Vollständige Induktion): für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Tutoriumslösung - Übung 5 (Abgabe..0) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Vollständige Induktion):

Mehr

Datenstrukturen und Algorithmen SS17 Lösung - Übung 5

Datenstrukturen und Algorithmen SS17 Lösung - Übung 5 Prof. aa Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer Hausaufgabe (Inorder-Traversierung binärer Suchbäume): (3 + 3 Punkte) Es soll bewiesen werden, dass die Inorder-Traversierung alle Schlüssel

Mehr

Mengen. Binäre Suchbäume. Mengen: Anwendungen (II) Mengen: Lösung mit Listen 12/3/12. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Mengen. Binäre Suchbäume. Mengen: Anwendungen (II) Mengen: Lösung mit Listen 12/3/12. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps // Mengen Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps n Ziel: ufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: n eines Elements n eines Elements

Mehr

Tutoraufgabe 1 (Vollständige Induktion): Tutoraufgabe 2 (Rotationen): Datenstrukturen und Algorithmen SS15 Übungsblatt 5 (Abgabe 3.6.

Tutoraufgabe 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

Mehr

VL-11: Rot-Schwarz Bäume. (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs

VL-11: Rot-Schwarz Bäume. (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs VL-11: Rot-Schwarz Bäume (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs SS 2017, RWTH DSAL/SS 2017 VL-11: Rot-Schwarz Bäume 1/41 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer 4024 im

Mehr

Algorithmen 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. 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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Wie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth [email protected] (Mit Folien von Julian Arz, Timo Bingmann,

Mehr

Übung: Algorithmen und Datenstrukturen SS 2007

Ü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

Mehr

Balancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":

Balancierte 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

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Algorithmen 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

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 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

Mehr

14. Rot-Schwarz-Bäume

14. 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).

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 216 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Vorstellung des 6. Übungsblatts. Hashing Binäre Suchbäume AVL-Bäume 2 Aufgabe: Hashing mit

Mehr

Algorithmen und Datenstrukturen I AVL-Bäume

Algorithmen 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

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap

Abgabe: (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,

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

Suchbäume mit inneren Knoten verschiedener Knotengrade.

Suchbäume mit inneren Knoten verschiedener Knotengrade. Was bisher geschah rekursive Datenstrukturen: lineare Datenstrukturen: Liste, Stack, Queue hierarchische Datenstrukturen: Bäume allgemeine Bäume Binäre Bäume Unäre Bäume = Listen Tiefe eines Knotens in

Mehr

Suchbä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. 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

Programmiertechnik II

Programmiertechnik 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,...

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion

Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Abschnitt 1 Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Aufgabe 1: Binäre Suchbäume: Iteratives Suchen/Einfügen/Löschen Das Material dieser Übung enthält in der Klasse Tree0 die

Mehr

ContainerDatenstrukturen. Große Übung 4

ContainerDatenstrukturen. 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

Mehr

Algorithmen und Datenstrukturen 12

Algorithmen 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

Mehr

Kapitel Andere dynamische Datenstrukturen

Kapitel 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

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen 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

Mehr

Suchbäume balancieren

Suchbä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

Mehr

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) 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

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, 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)

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

INSTITUT 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

elementare Datenstrukturen

elementare Datenstrukturen elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber [email protected] elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste

Mehr

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Wiederholung. 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:

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)

Wü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

Mehr

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee

1 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 13. Übung minimale Spannbäume, topologische Sortierung, AVL-Bäume Clemens Lang Übungen zu AuD 4. Februar 2010 Clemens Lang (Übungen zu AuD) Algorithmen und Datenstrukturen

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo [email protected] 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &

Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Grundlagen Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann [email protected] 25. November 2015 Frank Heitmann [email protected]

Mehr

Invarianzeigenschaft (für binären Suchbaum)

Invarianzeigenschaft (für binären Suchbaum) 5.3 Binäre Suchbäume Invarianzeigenschaft (für binären Suchbaum) Im linken Teilbaum befinden sich nur Werte, die kleiner gleich dem Knotenwert sind, im rechten Teilbaum nur solche, die größer sind. und

Mehr

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

Beispiellö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

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo [email protected] 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,

Mehr

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS

Suchstrukturen. Ü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

Mehr

Anwendungsbeispiel MinHeap

Anwendungsbeispiel 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

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume [email protected] 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 6 Suchbäume Version vom 25. November 2016 1 / 75 Vorlesung 10 22. November 2016 2

Mehr

Auswählen nach Rang (Selektion)

Auswä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)

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen 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

Mehr

Copyright, Page 1 of 8 AVL-Baum

Copyright, 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

Mehr