Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen
|
|
- Kai Messner
- vor 5 Jahren
- Abrufe
Transkript
1 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 vergleichbar sein Ein Schlüssel kommt höchstens einmal im Suchbaum vor Der Aufbau des Baumes spiegelt die Reihenfolge der Schlüssel wieder Binärer Suchbaum Ein Binärbaum, bei dem der Schlüssel eines jeden Knotens größer ist als alle Schlüssel in seinem linken Teilbaum kleiner ist als alle Schlüssel in seinem rechten Teilbaum Satz: Die Inorder-Traversierung eines binären Suchbaums liefert die Schlüssel in aufsteigender Reihenfolge sortiert Suchen in Binären Suchbäumen Einfügen in Binären Suchbäumen Suchen eines Knotens mit Schlüssel k Beginne mit der Wurzel Vergleiche k mit dem Schlüssel des betrachteten Knotens Sind die Werte gleich, hat man den Knoten gefunden Ist k kleiner, setze die Suche mit dem linken Kindknoten fort Ist k größer, setze die Suche mit dem rechten Kindknoten fort Existiert der entsprechende Kindknoten nicht, so kann der Schlüssel nicht im Baum enthalten sein Einfügen eines Knotens mit Schlüssel k Gehe zunächst vor wie bei der Suche Wird ein Knoten mit diesem Schlüssel gefunden ist kein Einfügen mehr nötig Sonst: Füge den neuen Knoten als Kind des letzten Knotens, der beim Suchen betrachtet wurde, ein Knoten wird genau an der Position eingefügt, an der der Suchalgorithmus keinen Kindknoten mehr gefunden hat Beachte: Ein Knoten wird immer als Blatt eingefügt
2 Minimum in Binären Suchbäumen Nachfolger in Binären Suchbäumen Suche des Knotens mit minimalem Schlüsselwert Beginne mit der Wurzel Gehe jeweils zum linken Kindknoten, bis kein linkes Kind mehr existiert Der Wert des letzen betrachteten Knotens ist ist das Minimum Maximum analog mit Durchlaufen der rechten Kinder Nachfolger: Knoten mit dem nächst höheren Wert im Baum Suche des des Nachfolgers eines Knotens v Fall1: v hat ein rechtes Kind Dann ist der gesuchte Knoten der Knoten mit minimalem Wert im rechten Teilbaum von v Fall 2: v hat kein rechtes Kind Dann ist der gesuchte Knoten der erste Vorfahr, bei dem v im linken Teilbaum liegt Falls es diesen nicht gibt, so existiert kein Nachfolger Vorgänger analog Löschen in Binären Suchbäumen Aufwand der Operationen Unterscheidung von drei Fällen beim Löschen von Knoten v Fall 1: v ist Blatt Dann kann v direkt gelöscht werden Fall 2: v hat genau ein Kind Dann wird v durch dieses Kind ersetzt Fall 3: v hat zwei Kinder Dann wird v durch seinen Nachfolger ersetzt Auf den Nachfolger trifft einer der ersten beiden Fälle zu Aufwand der betrachteten Operationen auf binären Suchbäumen ist jeweils maximal O(h), wenn h die Höhe des Baumes ist Die Höhe h ist im günstigsten Fall O(log n) und im ungünstigsten Fall O(n) Satz: Die erwartete Höhe eines binären Suchbaums nach Einfügen von n Knoten mit zufällig gewählten Werten liegt in O(log n) Problem: Knoten werden oft nicht zufällig eingefügt. Dann kann der Baum leicht zu einer listenartigen Struktur entarten
3 Balancierte Bäume Einführung AVL-Bäume (1) Die Höhe eines k-nären Baumes ist minimal, wenn er bis auf die unterste Ebene maximal gefüllt ist Einen solchen Baum bezeichnet man als ausgeglichen oder balanciert Für einen ausgeglichenen k-nären Baum gilt: Höhe des Baumes = log k (Anzahl Knoten) Entwickelt von den russischen Mathematikern Adelson- Velskii und Landis AVL-Bäume sind binäre Suchbäume, die das AVL-Kriterium erfüllen AVL-Kriterium: Für jeden Knoten ist der Betrag der Differenz der Höhen des rechten und linken Teilbaums maximal 1 AVL-Bäume realisieren eine abgeschwächte Form der Ausgeglichenheit Für AVL-Bäume gilt: Die Höhe eines AVL-Baums mit n Knoten ist in O(log n) Einführung AVL-Bäume (2) Einfügen in AVL-Bäume Formale Definition des AVL-Kriteriums: Die Funktion balance(v) für einen Knoten v sei definiert als balance(v) = Höhe rechter Teilbaum Höhe linker Teilbaum Die Höhe eine leeren Teilbaums wird dabei als -1 angenommen Dann bedeutet das AVL-Kriterium: Für jeden Knoten v gilt: balance(v) {-1, 0, 1} Zunächst Einfügen eines Knoten wie bei normalen Binärbäumen Dadurch kann die AVL-Eigenschaft für manche Knoten verletzt sein Nach einem Einfügen gilt für jeden Knoten v: balance(v) {-2, -1, 0, 1, 2} Um die AVL-Eigenschaft wieder herzustellen, wird der Baum anschließend umgebaut
4 Restrukturierung nach Einfügen Funktion restructure(x) Sei w der neu eingefügte Knoten Alle Knoten, deren Höhe sich geändert hat, liegen auf dem Pfad zwischen Wurzel und w Finden der Position zur Restrukturierung gehe von w aufwärts Richtung Wurzel z sei der erste Knoten, der unbalanciert ist (Verletzung AVL- Bedingung) existiert kein solcher Knoten, ist auch der neue Baum ein AVL-Baum y sei das Kind von z mit der größeren Höhe von beiden Kindern x sei das Kind von y mit der größeren Höhe von beiden Kindern Wende auf x die Funktion restructure(x) an restructure(x) Nenne die Knoten x, y, z nach ihrer (Inorder-) Reihenfolge a, b und c Nenne die 4 Teilbäume von x, y und z, die nicht x, y oder z als Wurzel haben nach ihrer (Inorder-) Reihenfolge T 0, T 1, T 2 und T 3 Ersetze z durch b Mache a zum linken Kind von b und T 0 und T 1 zum linken bzw. rechten Teilbaum von a Mache c zum rechten Kind von b und T 2 und T 3 zum linken bzw. rechten Teilbaum von c Beachte: x ist das Kind von y, y ist das Kind von z und z verletzt das AVL-Kriterium Oftmals wird die Restrukturierung auch Rotation genannt Restrukturierung sorgt auch für, dass alle Vorfahren von b das AVL-Kriterium erfüllen Sie muss also nur einmal angewandt werden Löschen in AVL-Bäumen Restrukturierung nach Löschen Zunächst Löschen eines Knoten wie bei normalen Binärbäumen Dadurch kann die AVL-Eigenschaft für manche Knoten verletzt sein Nach einem Löschen gilt für jeden Knoten v: balance(v) {-2, -1, 0, 1, 2} Um die AVL-Eigenschaft wieder herzustellen, wird der Baum anschließend umgebaut Sei w der Vater des entfernten Knotens entscheidend ist die Position, an der ein Knoten weggefallen ist Alle Knoten, deren Höhe sich geändert hat, liegen auf dem Pfad zwischen Wurzel und w Finden der Position zur Restrukturierung gehe von w aufwärts Richtung Wurzel z sei der erste Knoten, der unbalanciert ist (Verletzung AVL-Bedingung) existiert kein solcher Knoten, ist nichts weiter zu tun y sei das Kind von z mit der größeren Höhe von beiden Kindern x sei das Kind von y mit der größeren Höhe von beiden Kindern wenn x nicht eindeutig ist, wähle x so, dass x relativ zu y auf der selben Seite liegt wie y relativ zu z Wende auf x die Funktion restructure(x) an Setze w = b (b wird in restructure() bestimmt) und suche erneut eine Position, für die ggf. eine Restrukturierung erforderlich ist
5 Mehrweg Suchbäume Mehrweg Suchbäume Mehrweg Suchbäume sind eine Verallgemeinerungen von binären Suchbäumen auf d-näre Bäume Definition d-närer Mehrweg Suchbaum Jeder interne Knoten hat mindestens 2 Kinder Jeder Knoten hat mindestens einen Schlüssel Jeder Knoten kann bis zu d Kinder und bis zu d-1 Schlüssel haben Ein Knoten mit d Kindern v 0,..., v d -1 besitzt genau d -1 Schlüssel k 1,..., k d -1 Für die Teilbäume T i, i {0,..., d -1} eines Knotens mit d Kindern gilt: Für alle Schlüssel in T i : k i < Wert des Schlüssels in T i < k i+1 dabei setzen wir k 0 = - und k d = v i sei die Wurzel von T i Beachte: Inorder Traversierung läßt sich leicht auf d-näre Bäume erweitern k i wird zwischen den Werten in den Teilbäumen T i-1 und T i eingeordnet Suchen in Mehrweg Suchbäumen (2, 4)-Bäume Suche nach Schlüssel k Setze Knoten v auf die Wurzel v ist der aktuell betrachtete Knoten Vergleiche k mit den Schlüsseln k i in v Fall 1: k = k i für ein i Dann ist die Suche erfolgreich beendet Fall 2: Fall 1 trifft nicht zu und v ist Blatt Dann ist die Suche erfolglos beendet Fall 3: Fall 1 und 2 treffen nicht zu Dann setzte v = v i für das Kind v i von v mit k i < k < k i+1 und führe wiederum den Vergleich durch Ein (2, 4)-Baum ist ein 4-närer Mehrweg Suchbaum, für den gilt: Alle Blätter haben das gleiche Niveau Anmerkung 2 bis 4 Kinder bedeutet 1 bis 3 Schlüssel diese Anzahl von Schlüsseln gilt auch für Blätter Satz: Die Höhe eines (2, 4)-Baumes mit n Schlüsseln ist O(log n)
6 Einfügen in (2, 4)-Bäume Splitten eines Knotens mit 4 Schlüsseln Einfügen eines Schlüssels k Gehe zunächst vor wie bei der Suche Wird der Schlüssel k gefunden, ist kein Einfügen mehr nötig Sonst: Füge k in den letzten Knoten ein, der beim Suchen betrachtet wurde Beachte: Ein Schlüssel wird immer in Blatt eingefügt Problem: Überlauf kann auftreten Der neue Schlüssel ist ggf. der vierte Schlüssel in diesem Knoten Lösung: Splitten des Knotens Der Knoten mit 4 Schlüsseln wird durch zwei Knoten ersetzt Der erste Knoten enthält die zwei kleinsten Schlüssel Der zweite Knoten enthält den größten Schlüssel Wenn der übergelaufene Knoten ein innerer Knoten ist, werden auch seine Kinder entsprechend verteilt Der erste Knoten enthält die drei Kinder mit den kleinsten Schlüsseln Der zweite Knoten enthält die zwei Kinder mit den größten Schlüsseln Der zweitgrößte Schlüssel wird in den Vaterknoten eingefügt Das ursprüngliche Kind dieses Vaters wird durch die zwei neugebildeten Knoten ersetzt Der in den Vater eingefügte Schlüssel liegt zwischen den Schlüsseln in den beiden neugebildeten Teilbäumen Beim Vater kann ebenfalls ein Überlauf entstehen Eine neue Wurzel kann entstehen Löschen in (2, 4)-Bäumen Transfer Löschen eines Schlüssels k Entfernt wird zunächst immer ein Schlüssel aus einem Blatt Liegt k nicht in einem Blatt, so wird k durch seinen (Inorder) Nachfolger ersetzt Problem: Unterlauf kann auftreten Der Knoten v, aus dem der Schlüssel entfernt wurde, enthält anschließend keinen Schlüssel mehr Lösung: Fusion oder Transfer Wenn beide benachbarten Geschwister nur einen Schlüssel enthalten: Fusion Sonst: Transfer Indirekt wird ein Schlüssel aus einem benachbarten Geschwisterknoten in den leeren Knoten transferiert Dieser Geschwisterknoten muss selbst mindestens zwei Schlüssel besitzen Wenn es zwei benachbarte Geschwisterknoten gibt, mit denen ein Transfer möglich wäre, nehmen wir den linken Damit der Baum ein korrekter Mehrweg Suchbaum bleibt, kann der Schlüssel nicht direkt transferiert werden Vorgehen Verschiebe einen Schlüssel aus dem gemeinsamen Vaterknoten in den leeren Knoten Verschiebe einen Schlüssel aus dem Geschwisterknoten in den Vaterknoten Wenn der vorher leere Knoten kein Blatt ist: Verschiebe ein Kind vom Geschwisterknoten zu diesem Knoten Beachte: Ein Transfer kann keine weiteren Unterläufe verursachen
7 Fusion (a, b)-baum Der Knoten ohne Schlüssel wird mit einem benachbarten Geschwisterknoten zusammengefasst Dieser Nachbarknoten enthält genau einen Schlüssel Wenn es zwei benachbarte Geschwisterknoten gibt, nehmen wir den linken Ein Schlüssel aus dem Vaterknoten wird in diesen neugebildeten Knoten verschoben Der aus dem Vater entnommene Schlüssel liegt zwischen den Schlüsseln in den beiden ursprünglichen Teilbäumen Beachte: Aus einem inneren Knoten wird nur dann ein Schlüssel entfernt, wenn sich auch die Zahl der Kinder um eins vermindert hat Der Unterlauf kann sich im Vater fortsetzen Die Höhe des Baumes kann sich dadurch um eins vermindern Ein (a, b)-baum ist eine Verallgemeinerung des (2, 4)- Baums auf andere Anzahlen von Schlüsseln bzw. Kindern Ein (a, b)-baum ist ein b-närer Mehrweg Suchbaum für den gilt: Die Wurzel hat mindestens einen Schlüssel Jeder andere Knoten hat zwischen a-1 und b-1 Schlüssel Dabei muss gelten: 2 a (b + 1) / 2 Alle Blätter haben das gleiche Niveau Für einen (a, b)-baum gilt, dass ein innerer Knoten zwischen a und b Kinder hat Die Operationen auf (a, b)-bäumen sind analog zu denen auf (2, 4)-Bäumen B-Baum Nachteile B-Bäume Ein B-Baum ist ein wichtiger Spezialfall eines (a, b)-baums Ein B-Baum der Ordnung d ist ein (a, b)-baum mit a = d/2 und b = d B-Bäume werden eingesetzt für die Speicherung von Daten auf Sekundärspeicher Ziel: Reduktion der Datentransfers zwischen Sekundärspeicher und Hauptspeicher Knoten muss klein genug sein, damit er in einen Block passt nur ein Datentransfer pro Knoten andererseits wird ein möglichst flacher Baum angestrebt; deshalb möglichst viel Schlüssel pro Knoten Insgesamt wird daher d so gewählt, dass die Knotengröße der Blockgröße entspricht In der Praxis ist die Ordnung nicht fest, sondern variabel abhängig von der konkreten Größe von Schlüsseln und Zeigern Die Performanz eines B-Baums hängt stark von der Höhe des Baumes ab, deswegen wollen wir einen hohen Verzweigungsgrad der inneren Knoten Beachte: Neben dem Schlüssel selbst muss auch der zugehörige Datensatz gespeichert werden Abspeichern von Daten in inneren Knoten reduziert den Verzweigungsgrad In einem B-Baum enthält ein innerer Knoten mit k Einträgen k+1 Zeiger auf Kind-Knoten k Schlüssel k Referenzen auf Daten (oder sogar die Daten selbst)
8 B+-Bäume Beispiel Innerer Knoten B+-Bäume speichern lediglich Referenzschlüssel in inneren Knoten, die Daten selbst werden in Blattknoten gespeichert Jeder Schlüssel taucht in einem Blattknoten auf Schlüssel, die in einem inneren Knoten auftreten, sind zusätzlich auch in einem Blattknoten Meistens sind die Blattknoten noch verkettet, um schnelle sequentielle Suche zu ermöglichen Wie beim B-Baum: Split eines Blatts führt zu Einfügen eines Schlüssels in den Vater-Knoten Im Unterschied zum B-Baum wird er kopiert und nicht verschoben Spilt kann sich wieder nach oben fortsetzen Split eines inneren Knotens führt wie beim B-Baum zum Verschieben eines Schlüssels in den Vater Schlüssel Schlüssel Schlüssel Schlüssel < k<81 81 k<95 95 Beispiel B-Baum vs B+-Baum B-Baum Zeiger: Schlüssel: Blöcke 4 Byte 4 Byte 100 Byte Betrachte einen maximal gefüllten Baum mit zwei Ebenen (Höhe 1) Wurzel hat 8 Schlüssel + 8 Zeiger auf Tupel+ 9 Zeiger auf Kindknoten = 8x4 + 8x4 + 9x4 = 100 Byte Jedes der 9 Kinder: 12 Zeiger auf Tupel (+12 Schlüssel) Max # Tupel = = 12x(4+4) = Bytes 12x9 + 8 = 116
9 B+-Baum Einordnung Suchbäume Wurzel hat 12 Schlüssel + 13 Zeiger auf Kindknoten = 12x4 + 13x4 = 100 Byte Jedes der 13 Kinder: 12 Zeiger auf Tupel (+12 Schlüssel) Max # Tupel = = 12x(4 +4) = Bytes 13x12 = 156 Schlussfolgerung: Bei einer festen Blockgröße kann ein B+ Baum bei gleicher Anzahl von Ebenen mehr Einträge aufnehmen Die Höhe des Baums ist daher geringer Suchbäume mittlerer Aufwand für Einfügen, Suchen, Löschen jeweils O(log n) Hashtabellen mittlerer Aufwand für Einfügen, Suchen, Löschen jeweils O(1) Warum dann Suchbäume? Bei Suchbäumen ist O(log n) auch der Aufwand im ungünstigsten Fall. Bei Hashtabellen kann der Aufwand im ungünstigsten Fall O(n) werden Größe der Hashtabelle ist (bei klassischen Hashverfahren) statisch. Um einen angemessenen Belegungsfaktor zu erhalten, muss die Anzahl der Schlüssel also zumindest ungefähr bekannt sein Hashtabellen unterstützen keine Bereichssuche Implementierung Binärbaum (1) Implementierung Binärbaum (2) Verkettung Baum wird durch eine Menge verketteter Knoten repräsentiert Jeder Knoten enthält Wert/Schlüssel und ggf. weitere Daten Verweis auf Vater Verweis auf linkes Kind Verweis auf rechtes Kind Lässt sich leicht auf beliebige k-näre Bäume erweitern Array Jedes Element im Array enthält einen Knoten Die Kanten werden nicht explizit repräsentiert, sondern durch die Position der Knoten im Array Die Position eines Knotens v ist p(v) gemäß folgender Definition Die Knoten eines Binärbaumes lassen sich wie folgt nummerieren: Sei v ein Knoten und p(v) seine Nummer. Dann setzen wir: wenn v die Wurzel ist: p(v) = 1 wenn v das linke Kind von u ist: p(v) = 2 * p(u) wenn v das rechte Kind von u ist: p(v) = 2 * p(u) + 1 Wenn u der Vater von v ist gilt also: p(u) = p(v) / 2 Problem: einzelne Positionen können leer bleiben, wenn der Baum nicht entsprechend gefüllt ist
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
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
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
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
MehrChristian Rieck, Arne Schmidt
Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum
Mehrt-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.
.3 B-Bäume t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. Wird der t-äre Baum zur Verwaltung von Daten
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
Mehr2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus
2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten
MehrEinfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden
5.6.2 AVL-Bäume Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden AVL-Bäume, benannt nach ihren Erfindern G. M. Adelson- Velskii und E. M. Landis,
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
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
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
Algorithmen und Datenstrukturen Binäre Bäume Zum Speichern und Suchen von Daten werden häufig Baumstrukturen verwendet Abspeichern von n Datenobjekten in einer Baumstruktur Ablegen von Daten ist in O(log(n))
MehrAufgaben, 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
MehrAlgorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
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
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
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
MehrDB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht
DB-Zugriffsverfahren: Übersicht B*-Bäume N. Ritter, HMS Übersicht Zugriffsverfahren über Schlüssel Sequentielle Speicherungsstrukturen Baumsstrukturen Gestreute Speicherungsstrukturen Sequentielle Listen
MehrADS 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]
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
MehrAVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38
AVL-Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum haben die Algorithmen Suchen,
MehrLogische Datenstrukturen
Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse
MehrProseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)
Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer
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
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
MehrTeil 1: Suchen. Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume Digitale Suchbäume
Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume Digitale Suchbäume M.O.Franz; Oktober 07 Algorithmen und Datenstrukturen - B-Bäume 1-1
MehrSatz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n).
2.6 Vergleichsbasierte Sortierverfahren Alle bisher betrachteten Sortierverfahren sind vergleichsbasiert, d.h. sie greifen auf Schlüssel k, k (außer in Zuweisungen) nur in Vergleichsoperationen der Form
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)
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
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:
MehrBaumbasierte Strukturen
Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen
Mehr7. 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
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
MehrTeil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1
Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene
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
MehrAlgorithmen und Datenstrukturen 13
19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum
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
MehrInvarianzeigenschaft (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
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
MehrDefinition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:
2.1.2 Rot-Schwarz-Bäume Definition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten
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
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte
Mehr5.5 Prioritätswarteschlangen
5.5 Prioritätswarteschlangen LIFO- und FIFO-Warteschlangen entfernen Werte aus der Warteschlange in Abhängigkeit davon, wann sie in diese eingefügt wurden Prioritätswartschlangen interpretieren die Werte
MehrDatenstrukturen 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
MehrB*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.
B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und
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
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 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
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
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 25.4.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Nachbesprechung Serie 4 Challenge der Woche Traversierung von Bäumen Pre-,
MehrUniversität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 15. Jan Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10
Universität Augsburg, Institut für Informatik WS 009/010 Prof. Dr. W. Kießling 15. Jan. 010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10 Aufgabe 1: B-Bäume Datenbanksysteme I a) Abschätzen der Höhe
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
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
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 Datenstrukturen. Bäume
Übung Datenstrukturen Bäume Übung Binärbaum 7 2 10 1 3 5 9 34 8 7 11 13 17 7 25 19 3 Aufgabe 1 Geben Sie die Reihenfolge der besuchten Knoten nach Prä-, In-, Post- und Levelorder an! Übung Binärbaum Aufgabe
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,...
MehrNatürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16
Natürliche Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 Natürliche Bäume 1/16 Bäume Begriffe (1/2) Bäume sind verallgemeinerte Listenstrukturen ein
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,
MehrFast Searching / Balanced trees
Fast Searching / Balanced trees November, 8 Algorithms & Datastructures Exercises WS 8 DI -Tanase, DI Stefan Grünberger University Linz, Institute for Pervasive Computing Altenberger Straße 69, A- Linz
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
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 18. März
MehrB / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme
B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum
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
MehrTrees. November 14, Algorithms & Datastructures 2 Exercises WT 2017
Trees November 14, 2017 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum
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:
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
Mehr7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure
7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
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
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
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
MehrRückblick: Pufferverwaltung
Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte
MehrClausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele. Stammbaum.
lausthal Informatik II Bäume. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Beispiele Stammbaum. Zachmann Informatik - SS 0 Bäume Stammbaum Parse tree, Rekursionsbaum Unix file hierarchy
MehrTrees. November 13, Algorithms & Datastructures 2 Exercises WT 2017
Trees November 13, 2018 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum
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
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 - AVL-Bäume: Entfernen) Prof. Dr. Susanne Albers Definition von AVL-Bäumen Definition: Ein binärer Suchbaum heißt AVL-Baum oder höhenbalanziert,
MehrAlgorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin
Departement Mathematik und Informatik Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin 5. April 2017 Suchbäume I Andrew D. Booth Algorithmen und Datenstrukturen, FS17 5. April 2017 2 /
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/
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
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
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
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
MehrBinäre Suchbäume. Organisatorisches. VL-10: Binäre Suchbäume. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger.
Organisatorisches VL-10: inäre Suchbäume (Datenstrukturen und lgorithmen, SS 17) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11: 12:00 Übungen: Tim Hartmann,
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
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)
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
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:
MehrB-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write
B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write Thomas Maier Proseminar: Ein- / Ausgabe Stand der Wissenschaft Seite 1 von 13 Gliederung 1. Hashtabelle 3 2.B-Baum 3 2.1 Begriffserklärung 3 2.2
MehrSuchbä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
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
MehrÜ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
MehrAlgorithmen und Datenstrukturen 1-5. Seminar -
Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung
MehrAlgorithmen und Datenstrukturen. Kapitel 4: Suchverfahren. Skript zur Vorlesung. Algorithmen und Datenstrukturen
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Algorithmen und Datenstrukturen Kapitel 4: Suchverfahren Skript zur Vorlesung Algorithmen und Datenstrukturen Sommersemester
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
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:
Mehr