Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
|
|
- Ina Roth
- vor 7 Jahren
- Abrufe
Transkript
1 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 3. Streuspeicherung 7. Graphen 1. Darstellung und Topologisches Sortieren 2. Kürzeste Wege 3. Fluß- und Zuordnungsprobleme
2 Eigenschaften von binären Bäumen Ein Binärbaum der Tiefe T hat höchstens 2 T -1 Knoten N max = 2 T -1 N max : Maximale Knotenzahl Die Tiefe eines Binärbaumes mit N Knoten liegt zwischen lg 2 (N + 1) und N lg2(n+1) T N 2
3 Ausgeglichene Bäume (1) Suchen in binären Suchbäumen hat die Komplexität O(t), wobei t = Tiefe des Baumes 6 Beispiel vollständiger Binärbaum: Anzahl Knoten = 7 Tiefe des Baumes = 3 Die Suche benötigt maximal 3 Schritte Beispiel entarteter Binärbaum: Tiefe des Baumes = 7 Suchen benötigt max. 7 Schritte Ob ein Binärbaum entartet oder nicht, hängt von der Reihenfolge ab in der die Elemente eingefügt werden
4 Ausgeglichene Bäume (2) Die Tiefe eines Binärbaumes ist minimal, wenn er vollständig ist, d.h. jede Ebene (bis auf die Ebene der Blätter) maximal gefüllt ist. In vollständigen k-nären Bäumen gilt: T = log k( N + 1) T= Tiefe N= Anzahl der Knoten Der Wunsch, die Tiefe von Bäumen minimal zu halten führt zum Begriff der ausgeglichenen Bäume: Ein k-närer Baum B ist genau dann ausgeglichen (bzw. balanciert), wenn für seine Tiefe folgendes gilt: T = log k( N + 1) Die Ausgeglichenheit wird dadurch erreicht, dass Einfüge- und Löschoperationen diese Eigenschaft sicherstellen. Beispiele: AVL-Bäume, R/B- und B-Bäume 4
5 Aufwand beim Ausgleichen Ausgleichen 7 Beim Augleichen muss nahezu jeder Knoten bewegt werden Hoher Aufwand!
6 AVL-Bäume AVL-Bäume (Adelson-Velskii und Landis, 1962) sind eine Form von binären Suchbäumen, die das Entarten vermeiden AVL-Bäume basieren auf einem abgeschwächten Kriterium für eine ausgeglichene Tiefe AVL-Kriterium: Ein Binärer Suchbaum ist ein AVL-Baum, wenn für jeden (inneren) Knoten der absolute Betrag der Differenz der Tiefen des rechten und linken Teilbaums maximal 1 beträgt Merke: Es genügt nicht, diese Eigenschaft nur für die Wurzel zu fordern, da beide Teilbäume entartet sein können 6
7 AVL-Bäume: Beispiel AVL-Baum Kein AVL-Baum 7
8 Eigenschaften von AVL-Bäumen Für AVL-Bäume mit n Knoten und Tiefe t gilt: log (n+1) t < 1, 441. log (n + 2) AVL-Bäume sind höchstens um circa 44% tiefer als minimal möglich. Die Operationen Suchen, Einfügen und Löschen sind mit einem Aufwand von O(log n) realisierbar. F(t + 3) - 1 n 2 t+1-1, Dabei ist F(k) die k-te Fibonacci-Zahl, definiert durch F(0) = 0, F(1) = 1 und F(k + 2) = F(k + 1) + F(k). 8
9 Einfügen und Löschen in AVL-Bäumen AVL-Bäume sind binäre Suchbäume: Alle Suchoperationen (z.b. Suche nach min. bzw. max. Element) können problemlos übernommen werden Durch Einfüge- und Löschoperationen kann die AVL- Eigenschaft verloren gehen. Mit Hilfe von Baumtransformationen (Rotation und Doppelrotation) kann die AVL-Eigenschaft wieder hergestellt werden 9
10 Einfügen in AVL-Bäumen (1) Balance eines Knotens: Die Differenz der Tiefen der Teilbäumen left und right eines Knotens k wird balance b(k) genannt b(k) = t (left) - t (right) Für die AVL-Eigenschaft gilt: b(k) є { 1,0,+1} Nach dem Einfügen eines Knotens kann die Balance auch die Werte 2 und +2 annehmen: b(k) є { 2, 1,0,+1,+2} 10
11 AVL-Bäume: Balance eines Knotens
12 Einfügen in AVL-Bäumen (2) Fälle die zu einer Verletzung der AVL-Eigenschaft führen können: 1. Einfügen im linken Teilbaum des linken Kindes 2. Einfügen im rechten Teilbaum des linken Kindes 3. Einfügen im rechten Teilbaum des rechten Kindes 4. Einfügen im linken Teilbaum des rechten Kindes Merke: Die Fälle (1) und (3) bzw. (2) und (4) sind symmetrisch und können analog Weise behandelt werden 12
13 Rotation Ausgehend vom neu eingefügten Knoten wird (auf dem Pfad zur Wurzel) der erste unbalancierte Knoten gesucht (In diesem Fall K 3 ). Der Teilbaum mit K 3 als Wurzel verletzt die AVL-Eigenschaft. Diese wird durch einfache Rotation von vom Knoten K 2 über K 3 (so dass der neue Teilbaum die Wurzel K 2 hat) wieder hergestellt Single LL-Rotation K 3 +2 K 3 Single RR-Rotation K 2 K K 1 K K 2 0 K 2 0 K 1 K K 3 K
14 Doppelrotation Ausgehend vom neu eingefügten Knoten wird (auf dem Pfad zur Wurzel) der erste unbalancierte Knoten gesucht (In diesem Fall K 3 ). Der Knoten K 1 muss Wurzel des neuen ausgeglichenen Teilbaumes werden, da sein Schlüssel zwischen K 2 und K 3 liegt. Die Bezeichnung Doppelrotation lässt sich durch das Rotieren von K 1 über K 2 und K 3 K 3 +2 K 3-2 Double LR-Rotation Double RL-Rotation -1 K 2 K K 1 0 K 1 0 K 1 0 K 1 0 K 2 K K 3 0 K 2 14
15 Baumtransformation: Vorgehensweise 1. Einfügen in linken Teilbaum des linken Kindes => Rechtsrotation des Vaters 2. Einfügen in rechten Teilbaum des linken Kindes => Doppelrotation (LR) des linken Kindes/Vaters 3. Einfügen in rechten Teilbaum des rechten Kindes => Linksrotation des Vaters 4. Einfügen in linken Teilbaum des rechten Kindes => Doppelrotation rechts/links (RL) des rechten Kindes/Vaters 15
16 Rotationen im AVL-Baum (1) 16
17 Rotationen im AVL-Baum (2) 17
18 Rotationen im AVL-Baum (3) 18
19 Rotationen im AVL-Baum (4) 19
20 Löschen in AVL-Bäumen Löschen funktioniert analog zum Einfügen Nach dem Löschen eines Schlüssels kann die AVL- Eigenschaft eines inneren Knotens k verletzt sein Ggf. Balance des betroffenen, vom Vater aufgespannten Teilbaums durch Rotieren wieder herstellen. Vorsicht: Rotieren kann Ausgeglichenheit weiterer Knoten auf dem Pfad zur Wurzel verletzen. Balance rekursiv/iterativ ggf. bis zur Wurzel wieder herstellen löschen RR
21 2-3-4-Knoten Ein binärer Suchbaum enthält Knoten mit einem Schlüssel (und den dazu gehörigen Daten) sowie zwei Verweise auf einen linken und rechten Teilbaum, die natürlich auch leer sein können. Solche Knoten werden 2-Knoten genannt 3-Knoten sind Knoten, die zwei Schlüssel und drei Verweise auf weiterführende Teilbäume enthalten 4-Knoten sind Knoten, die drei Schlüssel und vier Verweise auf weiterführende Teilbäume enthalten n-knoten sind Knoten, die (n-1) Schlüssel und n Verweise auf weiterführende Teilbäume enthalten 2-Baum: Ein binärer Suchbaum wird 2-Baum genannt, wenn er nur 2-Knoten enthält und alle Blätter auf einer Ebene sind 21
22 2-3-4-Bäume 2-3-Bäume: Ein Suchbaum, dessen Knoten alle 2-Knoten oder 3-Knoten sind und dessen Blätter alle auf einer Ebene liegen, wird 2-3-Baum genannt Bäume: Ein Suchbaum, dessen Knoten alle 2- Knoten, 3-Knoten oder 4-Knoten sind und dessen Blätter alle auf einer Ebene liegen, werden Baum genannt Baumes der Tiefe 2 22
23 B-Bäume B-Bäume (1972 von Bayer und McCreight eingeführt ) stellen eine Verallgemeinerung der 2-3- und der Bäume dar Ziel der B-Bäume ist primär den Zugriff auf große Datenbestände (z.b. bei Datenbanken), die überwiegend auf externen Datenträgern (z.b. auf Festplatten, CD-ROM) gespeichert sind und nicht in den Hauptspeicher geladen werden können zu optimieren Die Anzahl der Plattenzugriffe erweist sich als proportional zur Höhe des B-Baums. Da Plattenzugriffe um Größenordnungen langsamer sind als Hauptspeicherzugriffe, wird versucht, die Höhe niedrig zu halten B-Bäume werden typischerweise im Zusammenhang mit Datenbanken z.b. für Indexstrukturen verwendet. 23
24 B-Bäume: Anmerkungen Bei B-Bäumen variiert der Verzweigungsgrad, während die Tiefe vollständig ausgeglichen ist B Bäume sind Bäume mit variabler Kinderzahl (auch Vielwegbäume genannt) Alle Pfade von der Wurzel bis zu den Blättern sind in einem B-Baum gleich lang Typischerweise werden B-Bäume hoher Ordnung verwendet Knoten enthalten sehr viele Werte Höhe des Baumes ist dafür niedrig. 24
25 B-Bäume: Grundbegriffe (1) Ein B-Baum der Ordnung n ist ein Suchbaum, für den gilt Jede Seite (Baumknoten) enthält eine variable Zahl m von Schlüsseln. Für die Wurzelseite gilt 1 m 2n Für alle Seiten außer der Wurzelseite gilt n m 2n Jede Seite ist entweder eine Blattseite (ohne Nachfolger), oder sie hat m + 1 Nachfolger Alle Blattseiten liegen auf gleicher Stufe (Tiefe) 25
26 B-Bäume: Grundbegriffe (2) Für jede Seite (jeder Knoten) eines B-Baumes gilt: Seien s 1, s 2,..., s m-1, s m die Schlüssel in der Seite und u 1, u 2,..., u m-1, u m die Unterseiten der Seite. Es muss gelten: s 1 < s 2 <... < s m-1 < s m Die Schlüssel in der Unterseite u o (und deren Unterseiten) sind alle kleiner als s 1. Die Schlüssel in der Unterseite u m (und deren Unterseiten) sind alle größer als s m und die Schlüssel in anderen Unterseiten u i (und deren Unterseiten) liegen jeweils zwischen s m -1 und s i. 26
27 B-Bäume: Struktur einer Seite Jede Seite enthält i geordnete Elemente (Schlüsselwerte), wobei es ein Wert m existiert, so dass m i 2.m m wird Ordnung des Baumes genannt Jede Seite enthält Verweise auf die Kindknoten mit den Unterbäumen, wobei für einen inneren Knoten sind jeweils i+1 Verweise vorhanden 27
28 B Baum: Beispiel B-Baum der Ordnung 2 Der Wurzelknoten enthält einen Schlüssel Alle anderen Knoten enthalten 2 m 4 Schlüssel. 28
29 Tiefe eines B-Baumes Die Laufzeit und damit die Anzahl der Festplattenzugriffe ist für die meisten B-Baum-Operationen abhängig von der Tiefe des Baumes Ist n >1 die Anzahl der Werte (Schlüssel) eines B-Baumes der Tiefe t und der Ordnung m, so gilt:. t log m n
30 Suchen in B-Bäumen Die Suche in B-Bäumen kombiniert Suche in binären Suchbäumen Suche in Liste bzw. Folgen Vorgehen bei der Suche nach Schlüsselwert s Beginnend auf der Wurzelseite wird der Eintrag gesucht, der den gesuchten Antrag überdeckt: D.h. es wird das erste Element e gesucht, das größer oder gleich s ist Falls e=s wurde das gesuchte Element gefunden, die Suche kann abgebrochen werden Falls e > w muss der Verweis von e zur nächsten Seite weiterverfolgt werden Falls kein Element kleiner als w gefunden wurde wird der letzte Verweis der Seite verwendet Falls eine Blattseite erreicht wird, die den gesuchten Wert w nicht enthält, dann existiert der gesuchte Wert nicht im Baum! 30
31 Suchen in B-Bäumen: Beispiel Suche nach dem Schlüsselwert 38 in B-Baum der Ordnung 2: Auf der Wurzelseite 0 wird durch Vergleich mit dem Schlüssel 25 der Verweis auf Seite 2 ermittelt und weiterverfolgt Auf der Seite 2 wird festgestellt, dass sich der Schlüssel zwischen 31 und 40 befinden muss Durch Verfolgen des Verweises auf Seite 7 und der Suche in der Folge in Seite 7 wird der gesuchte Schlüssel gefunden 31
32 Aufwand der Suche in B-Bäumen 1. Die Suche innerhalb eines Knotens erfolgt linear und ist beendet, wenn ein Wert größer oder gleich dem gesuchten Wert ist oder alle Werte des Knotens betrachtet worden sind. In einem B-Baum der Ordnung m hat jede Seite höchsten 2m Elemente Der Aufwand dieser lokalen Suche in O(m) 2. Wird der Wert in einem inneren Knoten nicht gefunden, so wird analog zum binären Suchbaum der nächste Knoten in Richtung der Blätter weitergesucht. Die Anzahl der besuchten Knoten ist damit abhängig von der Tiefe des Baumes Der Aufwand dieser Suche ist Θ(t) = Θ(log m n), n: Anzahl der Elemente im B-Baum, t: Tiefe des B-Baumes, m: Ordnung des B- Baumes 3. Der Gesamtaufwand der Suche ist Ο(m log m n) 32
33 Einfügen in B-Bäume (1) Vorgehensweise beim Einfügen eines Schlüssels w in B-Baum 1. Es wird die Blattseite gesucht, in dem der Schlüssel w gespeichert werden soll. Diese Seite hat entweder Zwei Elemente v und x mit v w x Ein Element x als kleinstes Element der Seite mit w x ist dabei die am weitestens links stehende Seite im Baum Ein Element v als größtes Element der Seite mit v w ist dabei die am weitesten rechts stehende Seite im Baum 2. Das neue Element wird in die Seite eingefügt Falls das Blatt vor dem Einfügen bereits voll (d.h. enthält bereits 2m Elemente), so verstößt der Baum danach gegen die B-Baum-Definition! Lösung: Beim Auftreten eines Überlaufs muss der übervolle Knoten aufgteilt werden: Die ersten m Werte verbleiben auf der Originalseite Die letzten m Werte werden auf die neue Seite verschoben Das mittlere Element wandert in den Vaterknoten nach oben 33
34 Einfügen in B-Bäume (2) Beim Einfügen müssen übervolle Knoten aufgeteilt werden Der neue Vaterknoten muss nun in den ursprünglichen Vaterknoten integriert werden, wodurch wieder die B-Baum-Eigenschaft verletzt sein kann Rekursiv in Richtung Wurzel ist demnach solange jeder so entstehende übervolle Knoten aufzuteilen, bis spätestens ein neuer Vater die neue Wurzel des Baumes bildet (B-Bäume wachsen in Richtung Wurzel) Merke: Das Verfahren durchläuft den Baum ggf. zweimal: Erst wird der Baum in Richtung eines Blattes durchsucht, der Knoten eingefügt und dann in Richtung der Wurzel ausgeglichen. Lösung: Ein effizienteres Verfahren, das den Baum nur einmal durchläuft, teilt auf dem Suchpfad in Richtung des Zielblattes vorsorglich jeden vollen Knoten auf und fügt zum Schluss den Wert in einen Knoten ein, der sicher nicht voll ist (One-pass-Verfahren) 34
35 Einfügen in B-Bäume (3) Wert 16 einfügen Für die Speicherung von 16 Wurde Seite 4 Festgelegt. Die Seite 4 enthält bereits 4 Elemente und muss aufgeteilt werden. Beim Aufteilen muss das mittlere Element (hier 16) auf die Vaterseite (hier Seite 1) weitergereicht werden 16 Einfügen 35
36 Einfügen in B-Bäume (4) 36
37 Löschen in B-Bäume (1) Vorgehensweise beim Löschen eines Schlüssels w aus einem B-Baum Es wird die Blattseite gesucht, die den zu löschenden Schlüssel enthält Der Schlüssel wird aus der Seite entfernt, dabei sind zwei Fälle zu unterscheiden: Falls w auf einer Blattseite gespeichert ist, kann w gelöscht werden. Verbleiben danach weniger als m Elemente auf der Seite, ist ein Unterlauf zu behandeln Falls w auf einer inneren Seite gespeichert ist, so wird w gelöscht und durch das nächstkleinere Element von einer Blattseite ersetzt. Danach kann sich wieder ein Unterlauf ergeben, der behandelt werden muss. 37
38 Löschen in B-Bäume (2) Beim Löschen können Knoten einen Unterlauf aufweisen und damit die B-Baum-Eigenschaft verletzen Lösung Ausgleichen Voraussetzung: Die Nachbarseite hat n Elemente mit n>m Die Elemente der beiden Seiten und das eingeschlossene Elemente der Vaterseite müssen neu verteilt werden, so dass auf beiden Seiten n Elemente mit m n vorhanden sind Vereinigen von zwei Seiten Falls die Nachbarseite nur n=m besitzt, werden Unterlaufseite und Nachbarseite zusammengelegt Das von beiden Seiten eingeschlossene Element der Vaterseite muss heruntergezogen werden, da durch das Zusammenlegen einer der beiden Verweise überflüssig wurde Die neue Blattseite hat 2m Elemente 38
39 Löschen in B-Bäume (3) Löschen von 22 verursacht einen Unterlauf in Seite 5 Da die linke Nachbarseite voll besetzt ist, können die Elemente 13, 14, 17, 18, 20 und 24 neu verteilt werden: 13, 14 und 17 verbleiben auf der linken Seite (Seite 4) 20 und 24 werden in Seite 5 gespeichert 18 wird in den Vaterknoten aufgenommen (Seite 1) 22 löschen 39
40 Löschen in B-Bäume (4) Löschen von 43: Unterlauf in Seite 8 Die Seite 7 enthält nur 2 Elemente: Seite 7 und Seite 8 können vereinigt werden Die Elemente der neuen Seite sind: 32, 38 und 42 Die übergeordnete Seite (Seite 2) verliert das Element 40, das in die neue Seite aufgenommen wird 40
41 Einfügen und Löschen: Aufwand 1. Zunächst muss der für Einfügen/Löschen relevante Knoten gesucht und der richtige Index i bestimmt werden Beim Einfügen wird hierfür ein Blatt gesucht, das Löschen kann potenziell jeden Knoten betreffen Daher liegt die Laufzeit dieser lokalen Suche entsprechend der Laufzeitanalyse für die Suche in O(m log m n) 2. Beim Löschen und beim Einfügen, werden Ausgleichoperationen vorgenommen, die aber lokal und beschräkt sind: Es kommt höchstens eine Konstante hinzu 3. Der Aufwand der beiden Operationen liegt ebenfalls in O(m log m n) 41
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
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
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
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
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
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
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
MehrContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
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
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
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
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]
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
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
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Balancieren eines Suchbaums Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 396 Baumgestalt vs. Zeitkomplexität Vorteile eines ausgeglichenen binären Suchbaums
MehrBalancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06
Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter
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
MehrNachtrag zu binären Suchbäumen (nicht (nur) AVL Bäumen: Löschen von Elementen in binären Suchbäumen. 1. Fall: zu löschendes Element ist Blatt: löschen
Nachtrag zu binären Suchbäumen (nicht (nur) AVL Bäumen: Löschen von Elementen in binären Suchbäumen 3 1. Fall: zu löschendes Element ist Blatt: löschen 1 2 4 9 10 11 12 13 2. Fall: zu löschendes Element
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
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,
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
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
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
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)
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
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
Mehr9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen
9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel
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:
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
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
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,...
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,
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
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
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
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
MehrNachtrag zu binären Suchbäumen
Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement
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))
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
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
MehrCopyright, Page 1 of 8 AVL-Baum
www.mathematik-netz.de Copyright, Page 1 of 8 AVL-Baum 1. Motivation und Einleitung Das Suchen, Einfügen und entfernen eines Schlüssels in einem zufällige erzeugten binären Suchbaum mit N Schlüsseln ist
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,
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 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
MehrAlgorithmen & Datenstrukturen. 3. Suchen
Algorithmen & Datenstrukturen 3. Suchen 1 Exponentielle Suche Gesucht wird ein Element mit Schlüssel k. Die exponentielle Suche eignet sich zum Suchen in nach den Schlüsselwerten sortierten Feldern, deren
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
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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrVorlesung 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
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 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
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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrBalancierte Suchbäume
Foliensatz 10 Michael Brinkmeier echnische Universität Ilmenau Institut für heoretische Informatik Sommersemester 2009 U Ilmenau Seite 1 / 74 Balancierte Suchbäume U Ilmenau Seite 2 / 74 Balancierte Suchbäume
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
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
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume
Übersicht Datenstrukturen und lgorithmen Vorlesung : Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-/dsal/ 1 Suche Einfügen
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
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
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
MehrBeweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens
Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens h 1 2 j = 2 h 1 j=0 interne Knoten enthalten kann. EADS 86/600 Beweis: Induktionsanfang: 1 ein AVL-Baum der Höhe h = 1 enthält
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 20) Übungsblatt 8 Abgabe: Montag, 24.06.20, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes Gruppenmitglieds
MehrBalancierte Binär- und B-Bäume
Balancierte Binär- und B-Bäume Sie kennen die Kriterien um die Ausgeglichenheit von Binär- Bäumen zu bestimmen Sie wissen, was B-Bäume und rot-schwarz Bäume sind und wie man sie ausgleicht Suchen und Tiefe
Mehr(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,
MehrÜbersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen
Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes
MehrWintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München
Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 Anwendung: Schreibtisch Operation: insert(task) 2 Anwendung: Schreibtisch An uns wird Arbeit delegiert... Operation:
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
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
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
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:
MehrOrganisationsformen der Speicherstrukturen
Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen
MehrB-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
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
MehrTechnische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter
Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam
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
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 /
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrKap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume
Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 12./13. VO DAP2 SS 2009 28.5./2.6.2009 1 Motivation Warum soll
MehrKurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
Mehr2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die
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
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:
MehrB-Bäume. Suchbäume. Suchen, Einfügen, Löschen. Thomas Röfer. Balancierte Bäume (AVL-Bäume) Universität Bremen. Bäume 2
Bäume 2 Thomas Röfer Suchbäume Suchen, Einfügen, Löschen Balancierte Bäume (AVL-Bäume) B-Bäume Rückblick Bäume 1 Begriffe Durchlaufen von Bäumen Spielprobleme Eigene Züge Gegnerische Züge Eigene Züge Gegnerische
MehrAlgorithmen 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Übung 4: Die generische Klasse AvlBaum in Java 1
Übung 4: Die generische Klasse AvlBaum in Java 1 Ein binärer Suchbaum hat die AVL -Eigenschaft, wenn sich in jedem Knoten sich die Höhen der beiden Teilbäume höchstens um 1 unterscheiden. Diese Last (
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:
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Mehr3.8 Bäume. Definition des Baumes
3.8 Bäume Definition des Baumes Ein Baum besteht aus einer nichtleeren Menge von Knoten und einer Menge von Kanten. Jede Kante verbindet genau zwei Knoten. Die Knoten (nodes) enthalten Datenelemente. Die
MehrWas bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch
Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,
MehrÜ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
MehrInformationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Fachbereich Informatik Technische Universität Kaiserslautern Übungsblatt 2 Für die Übungen in der Woche vom 29. April bis 03. Mai 2013 Aufgabe
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrDatenbanken. Interne Datenorganisation:
Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der
MehrIdee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10
Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien
MehrBinärbäume: Beispiel
Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des
Mehr