Warum Bäume? Teil 1: Suchen. Bäume: Begriffe und Eigenschaften (2) Bäume: Begriffe und Eigenschaften (1)

Ähnliche Dokumente
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

Suche in Texten: Suffix-Bäume

Algorithmentheorie. 15 Suchen in Texten (1)

Algorithmen auf Sequenzen Volltext-Indexdatenstrukturen: Suffixbäume

Grundzüge DS & Alg (WS14/15) Lösungsvorschlag zu Aufgabenblatt 7. Aufgabe 1

Wurzelbäume. Definition 1

Graphen vielseitig verwendbar zur Repräsentation von Zusammenhängen, etwa:

13 Rekonfigurierende binäre Suchbäume

Datenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 16

Suche in Texten. Naiver Algorithmus. Knuth-Morris-Pratt-Algorithmus. Karp-Rabin-Algorithmus

Automaten und formale Sprachen Notizen zu den Folien

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Mathematische Probleme, SS 2013 Montag $Id: dreieck.tex,v /04/15 09:12:15 hk Exp hk $ 1.4 Dreiecksberechnung mit Seiten und Winkeln

Informatik II, SS 2016

Algorithmen II Vorlesung am

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Motivation Binäre Suchbäume

Kürzeste Wege. möglich ist 6. Füge v zu S hinzu und setze d[v] d [v] (u,v) E. Datenstrukturen und Algorithmen 14. Elementare Graphalgorithmen

Polynominterpolation (Varianten)

Einführung in die Mathematik des Operations Research

Aufgabe 1. Die Zahl 6 wird aus 3 gleichen Ziffern mit Hilfe der folgenden mathematischen

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

solche mit Textzeichen (z.b. A, a, B, b,!) solche mit binären Zeichen (0, 1)

18. Natürliche Suchbäume

Ober- und Untersummen, Riemann Integrale

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Editierdistanz Autor: Sven Schuierer

Der Begriff der Stammfunktion

Mathematik für Studierende der Biologie und des Lehramtes Chemie

HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 2. Besprechung in KW44

Wurzel b bedeutet: Suche die Zahl, die mit sich selbst multipliziert gerade die Zahl ergibt, die unter der Wurzel steht.

Minimalautomat. Wir stellen uns die Frage nach dem. kleinsten DFA für eine reguläre Sprache L, d.h. nach einem DFA mit möglichst wenigen Zuständen.

9. Natürliche Suchbäume

Informatik II, SS 2014

R. Brinkmann Seite

Vorlesung Datenstrukturen

Übung 5 Algorithmen II

Anwendungsbeispiel MinHeap

Minimierung von DFAs. Minimierung 21 / 98

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Hans U. Simon Bochum, den Annette Ilgen. Beispiele zur Vorlesung. Theoretische Informatik. WS 08/09

x a 2 (b 2 c 2 ) (a + b 4 + a + weil Klammern nicht geschlossen oder Operationszeichen keine Terme verbinden.

Mathematische Probleme, SS 2018 Dienstag 5.6. $Id: dreieck.tex,v /06/05 15:41:51 hk Exp $ 2.1 Dreiecksberechnung mit Seiten und Winkeln

5.2 Quadratische Gleichungen

Umwandlung von endlichen Automaten in reguläre Ausdrücke

13. Binäre Suchbäume

15. Kürzeste Wege. SS 2017 DuA - Kapitel 15 1

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

Datenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 12

2.6 Reduktion endlicher Automaten

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 5

SS 2018 Torsten Schreiber

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch.

Erkundungen. Terme vergleichen. Rechteck Fläche als Produkt der Seitenlängen Fläche als Summe der Teilflächen A B

Kapitel 11: Bäume. Beispiele Definition und Eigenschaften Implementierungen Durchlaufen von Bäumen Binäre Suchbäume

Automaten und formale Sprachen Notizen zu den Folien

Mathematische Probleme, SS 2015 Montag $Id: dreieck.tex,v /04/20 08:57:49 hk Exp $ 1.4 Dreiecksberechnung mit Seiten und Winkeln

Lösungshinweise/-vorschläge zum Übungsblatt 2: Software-Entwicklung 1 (WS 2015/16)

Definition 15 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:

Trees. November 14, Algorithms & Datastructures 2 Exercises WT 2017

Relationen: Äquivalenzrelationen, Ordnungsrelationen

Trees. November 13, Algorithms & Datastructures 2 Exercises WT 2017

Minimalität des Myhill-Nerode Automaten

Programmieren in C/C++ und MATLAB. Programmieren in C/C++ und MATLAB. Sebastian Bauer Sven Willert Sabine Schmidt

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Protokoll zur Vorlesung Theoretische Informatik I

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

Relationen: Verkettungen, Wege, Hüllen

Diplomarbeit. Experimentelle Untersuchung von String B-Trees bezüglich ihrer Anwendbarkeit in Genom-Datenbanken und im Information Retrieval

Vorlesung Diskrete Strukturen Transportnetze

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Informatik II, SS 2018

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Auswertung von Operatorbäumen Huffman-Code

1. Voraussetzung. 2. Erstmalig anmelden Login beantragen. Online Fahrzeug-Registrierung. Anleitung

Binäre Suchbäume. Organisatorisches. VL-10: Binäre Suchbäume. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger.

Beispiellösungen zu Blatt 24

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 18. Juni HA-Lösung. TA-Lösung

Kap. 4.2: Binäre Suchbäume

In diesem Kapitel behandeln wir erste Algorithmen mit dynamischen Strukturen, wie Bäume und Graphen. 1. Bäume Grundlagen...

1 Aktivität 1 Sehen ohne Ton (Track 1 bis Und eine Schokolade. )

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen

Shortest Path Algorithmus von Edsger Dijkstra

Prof. Dr. Javier Esparza Garching b. München, den Klausur Einführung in die theoretische Informatik Sommer-Semester 2017

Algorithmische Bioinformatik I

Lineare Algebra. Übungsblatt November Aufgabe 1. (4=2+2 Punkte) Sei V ein K-Vektorraum und seien v 1,..., v n V.

Grundlagen zu Datenstrukturen und Algorithmen Schmitt, Schömer SS 2001

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer)

Automaten und formale Sprachen Notizen zu den Folien

18. Natürliche Suchbäume

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden

Vorlesung 24: Topological Sort 1: Hintergrund. Einführung in die Programmierung. Bertrand Meyer. Topological sort

2. Landeswettbewerb Mathematik Bayern 2. Runde 1999/2000

Automaten und formale Sprachen Notizen zu den Folien

Theoretische Informatik ITI

Algorithmen und Datenstrukturen

Transkript:

Wrum Bäume? Teil : Suhen Prolemstellung Elementre Suhverfhren Hshverfhren Binäre Suhäume (Wiederholung us Prog ) Bäume: Begriffe, Eigenshften und Trversierung Binäre Suhäume Gefädelte Suhäume Ausgeglihene Bäume B-Bäume Digitle Suhäume M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Hshverfhren erluen Suhe, Einfügen und Löshen in konstnter Zeit, er: Opertionen, für die die Reihenfolge der Dten wihtig ist, werden niht unterstützt. e: finde Minimum, Mximum Anlyse/Ausge der Dten in der korrekten Reihenfolge Binäre Suhäume erluen sortierte Bereitung in O(n log n), Suhe, Einfügen, Finden von Mxim und Minim und Löshen immerhin in durhshnittlih O(log n). M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Bäume: Begriffe und Eigenshften () Wurzel Elternknoten zu s und t Bäume: Begriffe und Eigenshften () Höhe eines Bums Mximle Anzhl von Knten von seiner Wurzel zu einem Bltt. Linkes Kind von k; Wurzel des linken Teilums Knte s k t Rehtes Kind von k; Wurzel des rehten Teilums 0 Höhe für jeden Teilum 0 0 0 Linker Teilum von k Rehter Teilum von k 0 Binärum: Bum: Bltt Knoten Jeder Knoten ht Kinder (linkes und rehtes Kind), oder Kind (linkes oder rehtes Kind) oder keine Kinder. Jeder Knoten knn elieig viele Kinder hen Behte Ein Bum, der nur us einem Knoten esteht, esitzt die Höhe 0. Aus tehnishen Gründen wird die Höhe eines leeren Bums (d.h. Anzhl Knoten = 0) ls - definiert. M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -

Bäume: Begriffe und Eigenshften () Vollständiger Binärum Ein vollständiger Binärum ist ein Binärum, ei der jeder Eene (is uf die letzte) vollständig gefüllt und die letzte Eene von links nh rehts gefüllt ist. e Bäume: Begriffe und Eigenshften () Implementierung von Binäräumen mit verketteten Knoten Jeder Knoten ht jeweils einen Zeiger für ds linke zw. rehte Kind. 0 root 0 Eigenshften: Ein vollständiger Binärum mit n Knoten ht die Höhe h = log n. Vollständige Binäräume sind (ei einer gegeenen Knotenzhl) Binäräume mit einer minimlen Höhe. strut Node int dt; Node* left; // linkes Kind Node* right; // rehtes Kind ; M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Trversierung von Bäumen () Trversierung von Bäumen () Ziel Ds Besuhen ller Knoten in einer estimmten Reihenfolge ist eine oft enötigte Opertion. Durhlufreihenfolgen PreOrder: esuhe Wurzel, esuhe linken Teilum; esuhe rehten Teilum; PostOrder: esuhe linken Teilum; esuhe rehten Teilum; esuhe Wurzel; InOrder: esuhe linken Teilum; esuhe Wurzel; esuhe rehten Teilum; LevelOrder: esuhe Knoten eenenweise PreOrder-Trversierung void preorder(node* p) if (p!= 0) ereite(p->dt); preorder(p->left); preorder(p->right); // Definition eines Bums: strut Node int dt; Node* left; // linkes Kind Node* right; // rehtes Kind ; Node* root; Bemerkungen Die Präfixe Pre, Post zw. In edeuten vorher, nhher und dzwishen. Gemeint ist dmit der Zeitpunkt, zu dem die Wurzel esuht wird. InOrder-Durhluf ist nur für Binäräume sinnvoll. // Aufruf von preorder preorder(root); Bereitungsreihenfolge: * - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -

Diretory-Liste durh Preorder-Trversierung Trversierung von Bäumen () PostOrder-Trversierung void postorder(node* p) if (p!= 0) postorder(p->left); postorder(p->right); ereite(p->dt); Bereitungsreihenfolge: (Weiss, ) * (Entspriht der sog. Postfix-Nottion für rithmetishe Ausdrüke) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -0 Size(diretory) durh Postorder-Trversierung Trversierung von Bäumen () InOrder-Trversierung void inorder(node* p) if (p!= 0) inorder(p->left); ereite(p->dt); inorder(p->right); Durhlufreihenfolge: (Weiss, ) * (ls mthemtisher Ausdruk interpretiert, erhält mn ( - ) * ) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -

Trversierung von Bäumen () Level-Order-Trversierung Die Knoten werden eenenweise in einer Shlnge (Queue) gespeihert und in einer while-shleife gereitet. void levelorder(node* p) Queue<Node*> queue; queue.push(p); // Eene 0 while (!queue.empty() ) Node* q; // Shreie vorderstes Element us Shlnge // nh q und löshe Element us Shlnge: queue.front(q); queue.remove(); if (q!= 0) ereite(q->dt); queue.insert(q->left); queue.insert(q->right); M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Durhlufreihenfolge: * Definition von inären Suhäumen Vorussetzung Alle Knoten in einem Bum enthlten einen Shlüssel (Key) und Nutzdten (vlue). Definition Ein inärer Suhum ist ein Binärum, ei dem für lle Knoten k folgende Eigenshften gelten: () Alle Shlüssel im linken Teilum sind kleiner ls der Shlüssel im Knoten k () Alle Shlüssel im rehten Teilum sind größer ls der Shlüssel im Knoten k e strut Node KeyType key; VlueType vlue; Node* left; // linkes Kind Node* right; // rehtes Kind ; In den Bäumen sind nur die Shlüssel drgestellt. M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Degenerierter Suhum Suhen in inären Suhäumen Opertion serhr ool serhr(keytype k, VlueType& v, onst Node* p); Suhe nh einem Knoten mit Shlüssel k im Teilum p. Flls gefunden, wird der im Knoten speiherte Dtenwert v und der Rükgewert true zurükgeliefert. Flls niht gefunden, wird der Rükgewert flse zurükgeliefert. Algorithmus ool serhr(keytype k, VlueType& v, onst Node* p) R steht für rekursiv if (p == 0) return flse; else if (k < p->key) return serhr(k, v, p->left); else if (k > p->key) return serhr(k, v, p->right); else // k gefunden v = p->vlue; return true; serhr(,v,p) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - p Einfügen in inären Suhäumen () Idee Um einen Shlüssel k einzufügen, wird zunähst nh dem Shlüssel k gesuht. Flls der einzufügende Shlüssel k niht ereits im Bum vorkommt, endet die Suhe erfolglos ei einem 0-Zeiger. An dieser Stelle wird dnn ein neuen Knoten mit Shlüssel k eingefügt. : füge ein Suhe von endet ei 0-Zeiger Ersetzte 0-Zeiger durh Zeiger uf Knoten : füge ein M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Suhe von endet ei 0-Zeiger Ersetzte 0-Zeiger durh Zeiger uf Knoten

Einfügen in inären Suhäumen () Opertion insertr ool insertr(keytype k, VlueType v, Node*& p); Fügt im Teilum p neuen Knoten mit Shlüssel k und Dtenwert v ein. Flls Shlüssel shon vorhnden, wird kein neuer Knoten eingefügt. Behte: Der Prmeter p ist ein Ein/Ausgeprmeter und dher ls Referenzprmeter relisiert. Der Teilum wird gelesen und geändert. Algorithmus ool insertr(keytype k, VlueType v, Node*& p) if (p == 0) p = new Node; p->key = k; p->vlue = v; return true; else if (k < p->key) return insertr(k,v,p->left); else if (k > p->key) return insertr(k,v,p->right); else // k ereits vorhnden return flse; M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - p p insert(, v, p) Idee Löshen in inären Suhäumen () Um einen Shlüssel k zu löshen wird zunähst nh dem Shlüssel k gesuht. Es sind dnn Fälle zu untersheiden: Fll Niht vorhnden : Shlüssel k kommt niht vor: dnn ist nihts zu tun. Fll Keine Kinder : Der Shlüssel kommt in einem Bltt vor (keine Kinder): dnn knn der Knoten einfh entfernt werden. Fll Ein Kind : Der Knoten mit dem gefundenen Shlüssel ht genu ein Kind: s. nähste Folie Fll Zwei Kinder : Der Knoten mit dem gefunden Shlüssel ht zwei Kinder s. üernähste Folie M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Löshen in inären Suhäumen () Fll Ein Kind Der zu löshende Knoten k ht genu ein Kind. Üerrüke den Knoten k, indem der Elternknoten von k uf Kind von k verzeigert wird (Bypss) und löshe k. : löshe Knoten mit Shlüssel Löshen in inären Suhäumen () Fll Zwei Kinder : Der zu löshende Knoten k ht zwei Kinder.. Ersetze den Knoten k durh den kleinsten Knoten k min im rehten Teilum von k.. Löshe dnn k min. D der kleinste Knoten k min im linken Teilum kein linkes Kind ht, knn ds Löshen von k min wie im Fll Ein Kind zw. Keine Kinder ehndelt werden. : löshe Knoten mit Shlüssel Suhe Knoten wird üerrükt und gelösht M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Knoten wurde gelösht Suhe Suhe kleinsten Knoten in rehten Teilum von M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -0 Knoten wurde durh kleinsten Knoten ersetzt kleinster Knoten wurde gelösht

Löshen in inären Suhäumen () ool remover(keytype k, Node*& p) if (p == 0) // k niht vorhnden return flse; else if (k < p->key) return remover(k,p->left); else if (k > p->key) return remover(k,p->right); else if (p->left == 0 p->right == 0) Node* temp = p; if (p->left!= 0) p = p->left; else p = p->right; delete temp; return true; // Bypss zu linkes Kind // Bypss zu rehtes Kind else // Min. im rehten Teilum suhen: Node* min = serhminr (p->right); // Zu löshender Knoten durh Min. ersetzen p->dt = min->dt; p->key = min->key; // Min. in rehtem Teilum löshen: return remover (min->key, p->right); Opertion remover Lösht im Teilum p Knoten mit Shlüssel k. Der Prmeter p ist ein Ein/Ausgeprmeter und dher ein Referenzprmeter. Knoten ht ein Kind oder kein Kind Knoten ht zwei Kinder M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Löshen in inären Suhäumen () Opertion serhminr Suht im Teilum p nh dem kleinsten Knoten und liefert Zeiger uf Minimum zurük. Node* serhminr(keytype k, onst Node* p) if (p == 0) // k niht vorhnden return 0; else if (p->left == 0) // Minimum gefunden return p; else return serhminr (k, p->left); Bemerkung Behten Sie, dss in der Opertion remover im Fll Knoten ht zwei Kinder der Aufruf von serhminr und der rekursive Aufruf von remover edeuten, dss zweiml vom rehten Kind p->right zum kleinsten Knoten gelufen wird. Diese Ineffizienz lässt sih jedoh eheen, indem serhminr noh zusätzlih ds Löshen des kleinsten Elements üernimmt. Der rekursive Aufruf von remover ist dnn üerflüssig. Diese Vrinte findet sih in der Quell-Code-Smmlung zur Vorlesung. M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Gefädelte Suhäume () Prolem In inären Suhäumen git es für einen Knoten im llgemeinen keinen effizienten Zugriff uf seinen InOrder-Vorgänger zw. -Nhfolger. Sollen Suhäume eispielsweise für ssozitive STL-Continer eingesetzt werden, ist jedoh eine effiziente Vorwärts- und Rükwärtstrversierung mit Itertoren notwendig. Lösung Ersetze in jedem Knoten den Links- zw. Rehts-Zeiger mit dem Wert 0 durh einen Zeiger uf seinen InOrder-Vorgänger zw. Nhfolger (Fädelung). O ein Zeiger uf ein Kind oder ein Vor- zw. Nhfolger zeigt, knn durh zusätzlihe oolshe Vrile vermerkt werden (siehe nähste Aufge). 0 Gefädelte Suhäume () Aufge. Ein gefädelter Suhum lässt sih eispielsweise durh folgenden Strukturdtentyp relisieren. strut Node int dt; Node* left; // linkes Kind zw. Vorgänger Node* right; // rehtes Kind zw. Nhfolger ool leftthred; // true, flls left uf InOrder-Vorgänger zeigt ool rightthred; // nlog. ; Shreien Sie für gefädelte Suhäume niht-rekursive C++-Funktionen für folgende Aufgen: ) Bestimme den In-Order-Nhfolger zu einem Knoten. ) Bestimme den In-Order-Vorgänger zu einem Knoten ) Ausge ller Knoten in In-Order-Reihenfolge. M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -

Anlyse von inären Suhäumen Worst-Cse D im shlehtesten Fll ein inärer Suhum mit n Knoten zu einem Bum der Höhe n- entrten knn (Bsp?), hen die Opertionen zum Suhen, Einfügen und Löshen eine mximle Suhlänge von n. Dmit: T mx (n) = O(n) Averge-Cse In [Ottmnn und Widmyer 00] wird gezeigt, dss die durhshnittlihe Lufzeit um eine Größenordnung esser ist. Es werden zwei Ergenisse hergeleitet, die sih drin untersheiden, welhe Verteilung der Bäume ngenommen wird: Bäume mit n Knoten entstehen durh eine Folge von Einfüge-Opertionen von n untershiedlihen Elementen. Es wird ngenommen, dss jede der n! möglihen Anordnungen der Elemente gleihwhrsheinlih ist. Gemittelt wird dnn üer die n! viele uf diese Weise erzeugten Bäume. Mn erhält dnn für die Suh-Opertion eine mittlere Suhlänge von ungefähr. log n. Dmit: T mit (n) = O(log n) Es wird ngenommen, dss lle strukturell vershiedenen inären Suhäume mit n Knoten gleihwhrsheinlih sind. Mn erhält dnn für die Suh-Opertion eine mittlere Suhlänge von ungefähr *n Dmit: T mit (n) = O( n) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Zufällig erzeugter Bum 00 Zufllszhlen in inären Suhum eingefügt => Tiefe ist ttsählih nhe n log n (us Weiss, ) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume - Proleme ei inären Suhäumen Die Annhme von zufällig verteilten Shlüsseln zw. gleihwhrsheinlihen Bumstrukturen ist niht immer erfüllt: oft werden Dten unsihtlih in geordeneter Form eingegeen delete fvorisiert Bäume mit tieferen linken Unteräumen, d ein gelöshter Knoten immer durh den minimlen Knoten des rehten Unterums ersetzt wird. Binärer Suhum nh N Pren von insert und remove (us Weiss, ) M.O.Frnz, Oktoer 00 Algorithmen und Dtenstrukturen - Binäräume -