Höhe eines B + -Baums
|
|
|
- Bastian Kaufer
- vor 9 Jahren
- Abrufe
Transkript
1 Höhe eines B + -Baums Anzahl der Blätter bei minimaler Belegung Anzahl von (eindeutigen) Elementen bei minimaler Belegung Anzahl der Blätter bei maximaler Belegung Anzahl von Elementen bei maximaler Belegung Dann ergibt sich die Höhe eines B + -Baums. Zachmann Informatik 2 - SS 6 Bäume 23 Zugriff auf Elemente im B + -Baum da die Nutzdaten in den Blättern gespeichert sind, erfordert jeder Zugriff genau h Knotenzugriffe sequentieller Zugriff: h interne Knoten + alle Blätter Beispiel: range query (z.b. DB-Anfragen vom Typ finde alle Studenten mit Matrikelnummner zwischen N und N 2 ). Zachmann Informatik 2 - SS 6 Bäume 24
2 Einfache Operationen auf B + -Bäumen Einfügen interne Knoten genauso wie bei B-Bäumen Blätter nach dem gleichen Prinzip, es muß garantiert werden, daß größere Schlüssel vom neuen Knoten als Seperator in den Vaterknoten kopiert werden Löschen leichter als bei B-Bäumen denn Schlüssel in den internen Knoten sind nur Seperatoren, sie dürfen nicht entfernt werden. Zachmann Informatik 2 - SS 6 Bäume 25 Beispiel (k=l=2) füge ein: Zachmann Informatik 2 - SS 6 Bäume 26 2
3 lösche: 28, 4, Zachmann Informatik 2 - SS 6 Bäume 27 Vergleich zwischen B-Bäumen und B + -Bäumen B-Baum Nutzdaten in allen Knoten Keine Schlüssel-Redundanz höhere Bäume wegen großer Seperatoren Sequentieller Zugriff auf Folge von Schlüsseln ist aufwendiger B + -Baum Nutzdaten nur in den Blättern Schlüssel-Redundanz niedrigere Bäume (große Breite) wegen kleiner Seperatoren Sequentieller Zugriff = Traversierung einer linearen Liste vereinfachter Lösch-Algorithmus n min = 2(k+) h- - n max = (2k+) h - n min = 2k(k+) h-2 n max = 2k(2k+) h-. Zachmann Informatik 2 - SS 6 Bäume 28 3
4 Fallstudie: B-Bäume im Vergleich zu B + -Bäumen Parameter: Nutzdaten: Seitengröße = 248 Byte = 2kB Zeiger, Zähler, Schlüssel = 4 Byte eingebettete Speicherung L D = 76 Byte separate Speicherung L D = 4 Byte B-Baum (eingebettet): k = (L-L M -L P )/2 (L K +L D +L P ) = ( ) / 2 ( ) = 2 B-Baum (separate Speicherung): k = (L-L M -L P )/2 (L K +L D +L P ) = ( ) / 2 ( ) = 85 interne Knoten im B + -Baum: k = (L-L M -L P )/2 (L K +L P ) = ( ) / 2 (4 + 4) = 27 Blätter im B + -Baum (eingebettet): l = (L-L M -2L P )/2 (L K +L D ) = ( ) / 2 (4 + 76) = 2 Blätter im B + -Baum (separate Speicherung): l = (L-L M -2L P )/2 (L K +L P ) = ( ) / 2 (4 + 4) = 27. Zachmann Informatik 2 - SS 6 Bäume 29 Präfix-B-Bäume besonders günstig für Strings mit variabler Länge Präfix-B-Baum ist ein B-Baum, in dem kleine Präfixe der Schlüssel als Separator benutzt werden Präfix-B-Bäume benötigen weniger Platz und erlauben einen größeren Fan-Out für die Schlüssel Engels, Hegel, Kant, Marx, Plato, Schopenhauer genügt der erste Buchstabe Beispiel: pr Plan Planung Produkt Produktion Produktivität Produzent oft ist es günstiger, lange Zeichenketten zu komprimieren, z.b. Produkt, 7ion, 8vität, 5zent. Zachmann Informatik 2 - SS 6 Bäume 3 4
5 Bulk-Loading von B-Bäumen B-Bäume können schrittweise (durch Einfügen eines einzelnen Schlüssels) oder als Index für bereits vorhanden Daten erstellt werden Schrittweise Erstellung ist nicht effizient Bulk-Loading 3 Schritte lese Daten und extrahiere die Schlüssel-Zeiger-Paare sortiere die Paare erstelle den Index und aktualisiere. Zachmann Informatik 2 - SS 6 Bäume 32 Beispiel B + -Baum mit k = l = (aus Platzgründen) beginne mit den sortierten Schlüssel-Zeiger-Paaren und einer leeren Wurzel Wurzel sortierte Seiten, noch nicht im Index 3* 4* 6* 9* * * 2* 3* 2* 22* 23* 3* 35* 36* 38* 4* 44* 6 2* 3* 2* 22* 23* 3* 35* 36* 38* 4* 44* 3* 4* 6* 9* * *. Zachmann Informatik 2 - SS 6 Bäume 33 5
6 2* 22* 23* 3* 35* 36* 38* 4* 44* 6 2 3* 4* 6* 9* * * 2* 3* 2 38* 4* 44* * 4* 6* 9* * * 2* 3* 2* 22* 23* 3* 35* 36*. Zachmann Informatik 2 - SS 6 Bäume 34 44* * 4* 6* 9* * * 2* 3* 2* 22* 23* 3* 35* 36* 38* 4* Bem.: dieser einfache Algorithmus erzeugt fast minimale Belegung Wie kann diese Belegung verbessert werden?. Zachmann Informatik 2 - SS 6 Bäume 35 6
7 Demo Zachmann Informatik 2 - SS 6 Bäume 36 Komplexitätsanalyse für B-Bäume Annahmen: jeder Knoten benötigt nur einen Zugriff auf externe Daten und jeder modifizierte Knoten wird nur einmal geschrieben Anzahl der Schlüssel-Zugriffe: Suche Pfad von Wurzel zu Knoten/Blatt falls lineare Suche im Knoten: O(k) pro Knoten insgesamt O(k log k n) Zugriffe im Worst-ase Aber: wirklich teuer sind read/write auf Platte renzen für den Lesezugriff beim Suchen (f = fetch ):. Zachmann Informatik 2 - SS 6 Bäume 37 7
8 Kosten für Insert f = Anzahl "Fetches", w = Anzahl "Writes" 2 Fälle: kein Split: f min = h, w min = Wurzel-Split: f max = h, w max = 2h+ bei maximalen Split-Operationen ist das Einfügen teuer, das passiert aber selten Abschätzung der Split-Wahrscheinlichkeit: höchste Split-Zahl (rel. zur Anzahl Knoten) tritt auf bei der Konstruktion eines minimal belegten Baums Anzahl der Knoten im minimal belegten Baum ist: im minimal belegten Baum gibt es höchstens N(n)- Splits, die Wahrscheinlichkeit für einen Split ist daher. Zachmann Informatik 2 - SS 6 Bäume 39 Eine Insert-Operation erfordert das Schreiben einer Seite, eine Split-Operation erfordert ungefähr 2 Schreib-Operationen durchschnittlicher Aufwand für Insert:. Zachmann Informatik 2 - SS 6 Bäume 4 8
9 Kosten für Löschen Mehrere Fälle:. Best-ase: b > k, kein Underflow f min = h w min = 2. "Underflow" wird durch Rotation beseitigt (keine Fortpflanzung): f rot = h+ w rot = 3 3. Mischung ohne Fortpflanzung: f mix = h+ w mix = 2 4. Worst-ase: Mischen bis hinauf zum Wurzel-Kind, Rotation beim Wurzel-Kind: f max = 2h- w max = h+. Zachmann Informatik 2 - SS 6 Bäume 4 Durchschnittliche Kosten für Löschen Obere Schranke unter der Annahme, daß alle Schlüssel nacheinander gelöscht werden kein Underflow: f = h, w 2 Zusätzliche Kosten für die Rotation (höchstens ein Underflow pro gelöschtem Schlüssel): f 2 =, w 2 2 Zusätzliche Kosten für das Mischen: Mix-Operation = Elemente eines Knotens in Nachbarknoten mischen und Knoten löschen, d.h., Mix mit Propagation = bis zu h Mix-Op. maximale Anzahl von Mix-Operationen: Kosten pro Mix-Operation: read und write zusätzliche Kosten pro Schlüssel:. Zachmann Informatik 2 - SS 6 Bäume 42 9
10 Addition ergibt:. Zachmann Informatik 2 - SS 6 Bäume 43 Digitale Suchbäume & Binäre Tries Bisher: Traversierung durch Baum wurde gelenkt durch Vergleich zwischen gesuchtem Key und Key im Knoten Idee: lenke Traversierung durch Bits/Ziffern/Zeichen im Key Ab jetzt: Schlüssel sind Bitketten / Zeichenfolgen feste Länge ->,,, variable Länge -> $, $, $, $ Anwendung IP-Routing, Paket-Klassifizierung, Firewalls IPv4 32 bit IP-Adresse IPv6 28 bit IP-Adresse. Zachmann Informatik 2 - SS 6 Bäume 44
11 Digitale Suchbäume (DST = digital search trees) Annahme: feste Anzahl an Bits Konstruktion: Wurzel enthält irgendeinen Schlüssel alle Schlüssel, die mit beginnen, sind im linken Unterbaum alle Schlüssel, die mit beginnen, sind im rechten Unterbaum linker und rechter Unterbaum sind jeweils Unterbäume der verbleibenden Schlüssel. Zachmann Informatik 2 - SS 6 Bäume 45 Beispiel Starte mit leerem Suchbaum: füge den Schlüssel ein Bemerkungen: Aussehen des Baumes hängt von der Reihenfolge des Einfügungens ab! Es gilt nicht: Keys (ilnker Teilb.) < Key in Wurzel < Keys( rechter Teilb.)! Es gilt aber: Keys (linker Teilbaum) < Keys(rechter Teilbaum). Zachmann Informatik 2 - SS 6 Bäume 46
12 Suchen: vergleiche gesuchten Key mit Key im Knoten falls gleich: fertig sonst: vergleiche auf der i-ten Stufe das i-te Bit rechter Unterbaum linker Unterbaum Anzahl der Schlüsselvergleiche: O(Höhe) = O(#Bits pro Schlüssel) Komplexität aller Operationen (Suchen, Einfügen, Löschen) : O( (#Bits pro Schlüssel) 2 ) hohe Komplexität wenn Schlüssellänge sehr groß. Zachmann Informatik 2 - SS 6 Bäume 47 Python-ode def digit(value, bitpos): return (value >> bitpos) & x def searchr(node, key, d): if node == None: return None if key == node.item.key: return node.item if digit(key, d) == : return searchr(node.left, key, d+) else: return searchr(node.right, key, d+) class DigitalSearchTree:... def search(self,key): return searchr(self.head, key, ). Zachmann Informatik 2 - SS 6 Bäume 48 2
13 Binäre Tries Ziel: höchstens Schlüsselvergleich pro Operation Zum Begriff: Information Retrieval Aussprache wie "try" 2 Arten von Knoten Verzweigungsknoten: linke und rechte Kindsknoten, keine Datenfelder Elementknoten: keine Kindsknoten, Datenfeld mit Schlüssel. Zachmann Informatik 2 - SS 6 Bäume 49 Einfügen Füge Schlüssel ein: Kosten: Vergleich. Zachmann Informatik 2 - SS 6 Bäume 5 3
14 Entfernen Entferne Schlüssel : Kosten: Vergleich. Zachmann Informatik 2 - SS 6 Bäume 5 Entfernen Entferne Schlüssel : Kosten: Vergleich. Zachmann Informatik 2 - SS 6 Bäume 52 4
15 Implementierung class Trie:... def insert(self,item): self.head = insertr(self.head, item, ) def insertr(node, item, d): if node == None: return TrieNode(item) if (node.left == None) and (node.right == None): return split( TrieNode(item), node, d ) if digit(item.key, d) == : node.left = insertr(node.left, item, d+) else: node.right = insertr(node.right, item, d+) return node. Zachmann Informatik 2 - SS 6 Bäume 53 def split(nodep, nodeq, d): noden = TrieNode(None) splitcase = 2 * digit(nodep.item.key, d) + digit(nodeq.item.key, d) if splitcase == : # noden.left = split(nodep, nodeq, d+) elif splitcase == 3: # noden.right = split(nodep, nodeq, d+) elif splitcase == : # noden.left = nodep noden.right = nodeq elif splitcase == 2: # noden.left = nodeq noden.right = nodep else: print "an't happen!" return noden. Zachmann Informatik 2 - SS 6 Bäume 54 5
Zugriff auf Elemente im B + -Baum. Höhe eines B + -Baums. Einfache Operationen auf B + -Bäumen. Anzahl der Blätter bei minimaler Belegung
Höhe eines B + -Baums Zugriff auf Elemente im B + -Baum Anzahl der Blätter bei minimaler Belegung Anzahl von (eindeutigen) Elementen bei minimaler Belegung Anzahl der Blätter bei maximaler Belegung Anzahl
Mehrwegbä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
CLRS benutzt eine etwas andere Definition:
Bemerkungen LRS benutzt eine etwas andere Definition: Für einen B-Baum vom rad t gilt: - jeder Knoten, außer der Wurzel, hat mindestens t- Schlüssel, also mindestens t Kinder - jeder Knoten besitzt höchstens
Informatik II Suchbäume für effizientes Information Retrieval
lausthal Informatik II Suchbäume für effizientes Information Retrieval. Zachmann lausthal University, ermany [email protected] Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als
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
Informatik 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:
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] [email protected] Gefädelte
ADS: 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.
Teil 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
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
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
9. 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
Algorithmen 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
Informatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
Satz 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
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,
Ü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
Wiederholung. 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
Teil 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
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,...
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
Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT
Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT Komplexität eines Algorithmus Algorithmen verbrauchen Ressourcen Rechenzeit
Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele.
lausthal Informatik II Bäume. Zachmann lausthal University, ermany [email protected] Beispiele Stammbaum. Zachmann Informatik 2 - SS 06 Bäume 2 Stammbaum Parse tree, Rekursionsbaum Unix file hierarchy
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
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
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
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
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
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
13. 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),
Ü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
4.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
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
3. 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:
(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
Vorlesung 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
Natü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
Logische 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
7 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,
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
Eine universelle Klasse von Hash-Funktionen
Eine universelle Klasse von Hash-Funktionen Annahmen: U = p, mit Primzahl p und U = {0,, p-1} Seien a {1,, p-1} und b {0,, p-1} Definiere wie folgt Satz: Die Menge ist eine universelle Klasse von Hash-Funktionen..
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
Suchen 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
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
Datenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
Vorlesung 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
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
Datenstrukturen und Algorithmen. Vorlesung 5
Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT
Informatik 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
Implementierung eines Baumes (in Python)
Satz: in maximal vollständiger binärer aum der Höhe h enthält 2 h-1 lätter und 2 h -1 Knoten und 2 h-1-1 inneren Knoten. eweis: 1. nduktionsanfang: h= 1 Der aum besteht nur aus der Wurzel, die auch das
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
Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12
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 8. März
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
1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13. November 2015 13. November 2015 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste
Motivation Binäre Suchbäume
Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in
1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 17. November 2017 17. November 2017 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
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
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
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
13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)
AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode
