6.1 Was sind binäre Suchbäume?



Ähnliche Dokumente
5. Allgemeine Bäume und Binärbäume

Aufgabe 4: 7-Segmentanzeige

Aufgaben zu Kapitel 7

Beispielfragen QM9(3) Systemauditor nach ISO 9001 (1 st,2 nd party)

Lektion 14 Test Lösungen

Informatik II. Übung 10. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017

informal: Modell für beliebige hierarchische Strukturen, Klassifikationsschemata

Lektion 11 Test. 2 Modalverben: Präsens oder Präteritum? Was ist richtig? Kreuzen Sie an.

Schleswig-Holstein 2009 Leistungskurs Mathematik Thema: Analysis. ( x) . (14 P) g mit ( ) Berechnen Sie die Schnittpunkte der Graphen von f a und

Lektion 14 Test. Obwohl Herr Stuber gern in der Stadt arbeiten / er einen Bauernhof haben möchten

Digitaltechnik. TI-Tutorium. 17. Januar Tutorium von K. Renner für die Vorlesung Digitaltechnik und Entwurfsverfahren am KIT

Nützliche Tastenkombinationen

Auswertung P2-60 Transistor- und Operationsverstärker

Wie in der letzten Vorlesung besprochen, ergibt die Differenz zwischen den Standardbildungsenthalpien

Quick-Guide für das Aktienregister

1 or-2. 1 or-3. Abbildung 1: Verschaltung von fünf ODER Gattern

Neugierig auf diesen Text???

d Beweis. Knoten 1 den Grad k hat.

j œ œ j œ j œ Œ Œ j œ œ œ œ ein - fach, ein - fach nur

ka 30 ka ka 20 ka 50, ka 15 ka PLSM-B(C)...(/...) ka 30 ka. 50, ka 15 ka

Entdecken Sie. in Lostorf. - mit einer schönen Wanderung. - mit dem Auto. - mit den öffentlichen Verkehrsmitteln. Schloss Wartenfels

Kontaktlinsen Sehminare Visualtraining. Die neue Dimension des Sehens

DOWNLOAD VORSCHAU. Vertretungsstunden Mathematik 30. zur Vollversion. 10. Klasse: Strahlensätze. Vertretungsstunden Mathematik 9./10.

DOWNLOAD. Vertretungsstunden Mathematik Klasse: Strahlensätze. Vertretungsstunden Mathematik 9./10. Klasse. Marco Bettner/Erik Dinges

Einführung in die Theoretische Informatik Tutorium XIII

Fachhochschule Hannover vorgezogene Wiederholungsklausur im WS

VORSCHAU. zur Vollversion. Warm-up Ein Lkw darf mit maximal kg beladen werden.

Übungsblatt 1. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Komplizierte Probleme der Informatik

Kannst du ein großes A bezahlen? Spiele mit Zahlen und Buchstaben. Dr. H. Schneider, Wien. Buchstabenrätsel mit zwei Vorgaben

Herr laß deinen Segen fließen

Huffman Codes und Datenkompression

Grundlagen Elektrotechnik I

Aufgabe 4: 7-Segmentanzeige

Qualität, auf die Sie bauen können. Quality Living im lebenswerten Mariahilf Wien, Gumpendorfer Straße 123

16. Minimale Spannbäume

Thema 9: Die Klassenarbeit

INTERNET- UND IT-LÖSUNGEN FÜR GESCHÄFTSKUNDEN Individuelle Produkte und Dienstleistungen

Kommentierung zum Prüfungsnachweis JAR - FCL - PPL(A)

Anleitungsübersetzung von

Heizlastberechnung Seite 1 von 5. Erläuterung der Tabellenspalten in den Heizlast-Tabellen nach DIN EN 12831

Kapitel 2: Finanzmärkte und Erwartungen. Makroökonomik I -Finanzmärkte und Erwartungen

Messverstärker. geringe Rückwirkung auf die Messgrösse (Der Eingangswiderstand ist gross für Spannungsmessungen und klein für Strommessungen)

Spektralbilder einer Oktav-Tonleiter in C-Dur

7.3.4 Minimale Spannbäume Ungerichteter, zusammenhängender Graph G = (V,E) mit Kantenkosten w : E -> Double. w(e) = min Warum Forderung "ohne Zyklen"?

Lektion 4 Test. Lektion 4. Grammatik

3.1 Definition, Einheitsvektoren, Komponenten, Rechenregeln, Vektorraum

Kondensator an Gleichspannung

Abitur - Leistungskurs Mathematik. Sachsen-Anhalt 1999

Grundlagen Hubstapler

Gott = Ein W_s_n ^[ss [us ^r_i P_rson_n \_st_ht

Motivation. Überblick. Kap Tiefensuche. Tiefensuche (DFS) Tiefensuche DFS

2. Distributivgesetz / Binomische Formeln

Einführung in Mathcad H.

Automaten und formale Sprachen Notizen zu den Folien

Biologie der Zelle. Tierische Zelle

Repetitorium Mathematik für Informatiker I, Sommersemester Probeklausur Nr. 1. Information

a) Wie groß ist das Feuchtedefizit D? b) Wie groß ist die Taupunkttemperatur? c) Was bedeutet das Erreichen der Taupunkttemperatur physikalisch?

Übungen zu RED / PRED 1 Synchrones Digitaldesign

Domäne und Bereich. Relationen zwischen Mengen/auf einer Menge. Anmerkungen zur Terminologie. r Relationen auf/in einer Menge.

Zur β-ebenen Approximation

Ohnezahn. Ohnezahn. 2016, bubble Kostenlos zu finden auf Diese Vorlage ist nur für private, nicht kommerzielle Zwecke freigegeben

4 Zubehöre Hydraulikzubehöre

4 Bäume und Minimalgerüste

5.5.Abituraufgaben zu Logarithmusfunktionen

NEU. für Ih. PPL 10.0 PASCHAL-Plan light. Jetzt in 3D und mit kompletter Bauhofverwaltung

Prüfung 01 Systemauditor nach AS/EN 9100 (1st, 2nd-party) Seminar L4(3)

LUDWIG-MAXIMILIANS-UNIVERSITÄT MÜNCHEN. 7. Übung/Lösung Mathematik für Studierende der Biologie

Kurzgefaßte Klausellehre

Labor Messtechnik Versuch 5 Operationsverstärker

Lektion 10 Test Lösungen

VERTRAULICH BUREAU VERITAS. Schreiben Sie bitte Ihren Vornamen, Namen und Ihr Geburtsdatum in das Feld: Vorname Name Geburtsdatum

Übersicht EUROWINGS VERSICHERUNGSSCHUTZ. Leistungsbestandteile im Überblick. Hinweise im Schadenfall:

Satzungen der Hochschule für Musik und Theater München

Erwartungsbildung, Konsum und Investitionen

Rechner in C - Version 2.0

1 Kurvendiskussion /40

TI II. Sommersemester 2008 Prof. Dr. Mesut Güneş 5. Exercise with Solutions

wahlzeit! warum wählen?

Übungen zu RED / PRED 1 Synchrones Digitaldesign

Clubbeitrag: Der Clubbeitrag wird problemlos monatlich von Ihrem Konto per Bankeinzugsverfahren abgebucht.

Fakultät 08 Fahrzeugsysteme und Produktion. Dipl. Phys. Ait Tahar. 1. Einführung

Telephones JACOB JENSEN

4. Berechnung von Transistorverstärkerschaltungen

Musterlösung - Aufgabenblatt 4. Aufgabe 1

Lektion 10 Test. Könntet / Würdet ihr mir helfen?

Kryptologie am Voyage 200

Projektive Geometrie 2

Makroökonomie I/Grundlagen der Makroökonomie

Teilfachprüfung Mathematik Studiengang: Wirtschaft Neue Diplomprüfungsordnung (NPO)

Verwendung der Funktion für bedruckbare Aufkleber. Verwenden des Bearbeitungsbildschirms. Computer. Tablet. ScanNCutCanvas

b) Was ist eine Gradsequenz? Eine sortierte Folge der Grade der Knoten aus einem Graphen.

Übung zur Vorlesung PC II Quantenchemische Modellsysteme, Atom und Molekülspektroskopie B.Sc. Blatt 7

1. Übung zu Computergraphik 3 Geometrie

Sind keine notwendig. Eine Formelsammlung und ein nicht programmierbarer Taschenrechner können aber verwendet werden.

13 Rekonfigurierende binäre Suchbäume

6. Klasse Englisch. Englisch. 6. Klasse. Drei Lernbausteine für garantiert bessere Noten! WISSEN ÜBEN TESTEN. Mit MP3-Download

Transkript:

6 inär Suchäum 6.1 Ws sin inär Suchäum? Suchäum (inry srch trs) sin tnstrukturn, i vil Oprtionn uf ynmischn Mnn ffiint untrstütn. ispil sin: Srch(K, k): Such in lmnt von K mit Schlüssl k Insrt(K, ): Fü s lmnt in K in lt(k, ): ntfrn s lmnt us K Minimum(K): Such s (in) lmnt von K mit minimlm Schlüssl Mimum(K): Such s (in) lmnt von K mit mimlm Schlüssl Succssor(K, ): Such s lmnt, ssn Schlüssl in r Ornun von K m Schlüssl von folt (r nächströßr Schlüssl) m Schlüssl von vornht (r nächstklinr Schlüssl) in Suchum knn lso ls um ispil ls ictionry or Priority Quu vrnt rn. in inärr Suchum ist i r Nm schon st in inärr um. in solchr um knn urch in Pointr-tnstruktur rpräsntirt rn, in r jr Knotn in Ojkt rstllt. Nn m Schlüssl (ky) ht jr Knotn i Pointr lft chil un riht chil, i uf i Nchfolrknotn in, soi inn Pointr prnt, r uf n irktn Voränr s Knotns vrist. Git s kin chil- or prnt-knotn, ist r ntsprchn Pointr uf stt. ilun 6.1 it i typisch Struktur ins umknotns, i im folnn in r Klss TrNo implmntirt ist. ilun 6.2 it in ispilstruktur ins inärn ums. In r vrinfchtn ilun 6.3() r umstruktur us ilun 6.2 sin i lättr (lfs) s ums, lso i Knotn ohn Kinr, rot untrlt. In inm inärn Suchum rn i Schlüssl i folt spichrt (inry-srch-tr proprty or Ornunsinschft): Si in Knotn s ums. Für jn Knotn y im linkn Untrum von ilt y.ky.ky. Für jn Knotn y im rchtn Untrum von ilt y.ky.ky. 65

6 inär Suchäum TrNo *prnt; int ky; TrNo *lft_chil ; TrNo *riht_chil ;. 6.1: Knotn in inm inärn um TrNo *root; 5 3 2 5 6 8. 6.2: ispil für inn inärn um Für n um in ilun 6.3() ist r Knotn 5 i Wurl, i Knotn 2, 3 un 5 finn sich ntsprchn im linkn Untrum, i Knotn 6, un 8 im rchtn Untrum. Knotn 3 ist um ispil nicht klinr ls Knotn 2 in sinm linkn Untrum un nicht rößr ls Knotn 5 in sinm rchtn Untrum. finition 6.1. i Höh ins Knotn v in inm um ist lich r Zhl r Kntn uf m länstn W vom Knotn u inm ltt im Untrum s Knotns. i Höh ins ums ist lich r Höh sinr Wurl. 6.2 lorithmn uf inärn Suchäumn 6.2.1 Tr lk i Ornunsinschft rmölichst i us llr im um spichrtn Schlüssl in sortirtr Rihnfol. r ntsprchn rkursiv lorithmus ir ls tr lk ichnt: voi t r l k ( TrNo ) { i f (!= ) { t r l k ( >l f t c h i l ) ; cout << >ky << nl ; t r l k ( >r i h t c h i l ) ; 66

6.2 lorithmn uf inärn Suchäumn 2 Wurl 5 Wurl = root 3 3 5 5 2 5 6 8 6 8 () (). 6.3: 6.3() r inär um us. 6.2 in vrinfchtr rstllun. 6.3() in nir ffiintr inärr Suchum r Höh 4, r i lichn Knotn nthält. in ufruf r Funktion tr lk() für i äum in ilun 6.3 führt ur us 2, 3, 5, 5, 6,, 8. r lorithmus nötit Θ(n) Zit, um inn inärn um mit n Knotn u urchlufn, i Funktion nu iml rkursiv für jn Knotn s ums ufrufn ir: inml für s link Kin s Knotns un inml für s rcht Kin. St 6.1. Strtn ir i Funktion tr lk mit r Wurl ins ums mit n Knotn, so nötit tr lk Θ(n) Zit. is. Si T (n) i Lufit für inn um mit n Knotn. Für inn lrn um nötit tr lk konstnt Zit T (0) = c. Für n > 0 nhmn ir n, ß tr lk für inn Knotn mit inm linkn Untrum r Größ k un inn rchtn Untrum r Größ n k 1 (rkursiv) ufrufn ir: T (n) = T (k) + T (n k = 1) + ist in Konstnt Wir nn nun i Sustitutionsmtho n un in, ß i Lufit von tr lk von r folnn Form ist: T (n) = (c + )n + c, oi c un i (on finirtn) Konstntn sin. Inuktionsstrt: n = 0 T (0) = c = (c + )0 + c Inuktionsnnhm: Wir nhmn n, ß i oi uss für ll nn Zhln klinr ls n ilt. Inuktionsschluß: T (n) = T (k) + T (n k 1) + T (n) = (c + )k + c + (c + )(n k 1) + c + T (n) = (c + )n + c 6

6 inär Suchäum 6.2.2 Such uf inärn äumn in äni Oprtion in inm inärn Suchum ist i Such nch inm Schlüssl k. i Funktion tr srch ir mit inm Pointr uf n Wurlknotn s trffnn ums soi mit m Schlüssl k ufrufn. Wir k funn, lifrt tr srch inn Pointr uf n funnn Knotn urück, nrnflls. TrNo t r s r c h ( TrNo, int k ) { TrNo r s u l t = ; i f (!= ) { i f ( >ky == k ) r s u l t = ; ls i f ( k < >ky ) r s u l t = t r s r c h ( >l f t c h i l, k ) ; ls r s u l t = t r s r c h ( >r i h t c h i l, k ) ; rturn ( r s u l t ) ; i Funktion innt i Such n r Wurl un läuft im um nch untn. Für jn Knotn ir r sucht Schlüssl k mit m Schlüssl k vrlichn. Sin i Schlüssl lich, richt i Such. Ist k klinr ls k, fährt i Such im linkn Untrum von fort, i Ornunsinschft impliirt, ß k nn nicht im rchtn Untrum spichrt sin knn. ntsprchn ir i Such im rchtn Untrum fortstt, nn k rößr ist ls k. i uf is Wis urchlufnn Knotn formn inn Pf von r Wurl u inm ltt. i Lufit von tr srch ist lso O(h), oi h i Höh s ums nit. i lich Funktion knn uch itrtiv implmntirt rn, inm i Rkursion in Form inr hil-schlif nchilt ir. uf n mistn Mschinn ist is Vrsion ffiintr ls i rkursiv Implmntirun. TrNo i t r t i v t r s r c h ( TrNo, int k ) { hil (!= && >ky!= k ) { i f ( k < >ky ) = >l f t c h i l ; ls = >r i h t c h i l ; rturn ; i Funktionn tr srch, itrtiv tr srch, tr prcssor, tr minimum un tr mimum sin shr ähnlich u n nnn Implmntirunn. St 6.2. i Funktionn tr srch, itrtiv tr srch, tr prcssor, tr minimum un tr mimum hn in Lufit von O(h), oi h i Höh s inärn ums ist. 68

6.2.3 infün un Löschn 6.2 lorithmn uf inärn Suchäumn infün un Löschn irkn in Änrun r umstruktur. i tnstruktur muß ntsprchn änrt rn, ohn i n i Ornunsinschft u vrstoßn. Wir rn shn, ß s infün rltiv infch ist, ährn s Löschn utlich kompliirtr ist. infün i Funktion tr insrt füt inn nun Knotn mit m Schlüssl k in n um in. Wir nhmn n, ß lft chil un riht chil schon uf stt urn. voi t r i n s r t ( Tr T, TrNo ) { TrNo =T >root ; // Pointr um I t r i r n ur n um TrNo p=; // Pointr uf Vtr von Knotn hil (!=) { // urchmustrn s ums p = ; // p s p i c h r t n Vtr von i f ( >ky < >ky ) = >r i h t c h i l ; // i Such ht r c h t s i t r ls = >l f t c h i l ; // i Such ht l i n k s i t r >prnt = p ; i f ( p==) T >root = ; // i s t i nu Wurl ls i f ( >ky < p >ky ) p >l f t c h i l = ; // Links von p i n f u n ls p >r i h t c h i l = ; // Rchts von p i n f u n Wi i Such-Funktionn ht tr insrt in Lufit von O(h) (h: Höh s ums). Löschn im Löschn ins umknotns ist in Flluntrschiun rforrlich: 1. r u löschn Knotn ht kin Kinr. isr Fll ist r infchst: r ntsprchn Zir s Vtrknotns von ir uf stt, ir löscht. i Lufit ist O(1). Fll 1 ist in ilun 6.4() rstllt. 2. r u löschn Knotn ht nu in Kin, s nn mit m Vtr von vrunn ir (splic out,. 6.4()). is Oprtion ht in Lufit O(1). 3. r u löschn Knotn ht i Kinr. isr Fll ist r ufnist: Wir nn s splic out us Schritt 2 uf n Succssor von Knotn n: 69

6 inär Suchäum 5 16 20 10 13 6 5 16 20 10 6 5 16 20 10 13 6 5 20 10 6 () (). 6.4: Löschn ins Knotns in inm inärn um - Fll 1 un 2 5 16 5 20 6 5 20 56 20 20 10 13 10 10 10 6 6 6 6. 6.5: Löschn ins Knotns in inm inärn um - Fll 3 ) Such n Succssor von in sinm rchtn Untrum ) Ür tn (n Schlüssl) s Succssors n c) Lösch mit r Prour für Knotn mit inm Kin isr Fll ist in. 6.5 it. i Lufit ist O(h) im orst cs. St 6.3. In inm inärn Suchum r Höh h knn in Zit O(h) in lmnt infüt or löscht rn. 6.3 Rot-Schr-äum Im vorhrhnn schnitt hn ir lrnt, ß i Stnr-Oprtionn ynmischr Mnn uf inärn äumn in Zit proportionl ur Höh s ums usführt rn könnn. shl sollt mn vrsuchn, i Höh ins ums so klin i mölich u hltn, un mn sollt für sorn, ß r um immr ut lncirt lit. in Rot-Schr-um ist in inärr Suchum, r pro Knotn ür in usätlichs ltt vrfüt, mit m i Fr s Knotns (rot or schr) spichrt ir. Wir vrschnn hir Spichrplt un vrnn im folnn in n Zhl int color mit R=0 un LK=1. Jr Knotn (TrNo) nthält i folnn Komponntn (tn): 0

6.3 Rot-Schr-äum 3 10 26 1 41 14 21 30 4 10 16 19 28 38 12 20 35 39. 6.6: Rot-Schr-um int ky ; TrNo prnt ; TrNo l f t c h i l ; TrNo r i h t c h i l ; int c o l o r ; finition 6.2. 1. Jr Knotn ist ntr rot or schr. 2. i Wurl ist schr. 3. Js ltt [] ist schr. 4. Wnn in Knotn rot ist, nn sin sin Kinr schr. 5. Für jn Knotn ilt: ll Pf vom Knotn u lättrn im Untrum nthltn i lichn Zhl von schrn Knotn. In ilun 6.6 ist in ispil für inn Rot-Schr-um rstllt. i - Zir könnn ll uf i rss ins sonrn Knotn T umstt rn (. 6.). Mit ism Knotn könnn ir i mit jm nrn Knotn ritn: T >color=lk; prnt, lft chil, ky un riht chil könnn lii stt rn. i (innrn) Knotn mit n Schlüssln im Mittlpunkt unsrs Intrsss sthn, lssn ir in n folnn ilunn i Zir uf T. finition 6.3. i schr Höh sh() ins Knotn ist i Zhl r schrn Knotn von u inm ltt, oi r Knotn nicht mitählt ir. Lmm 6.1. in Rot-Schr-um mit n innrn Knotn ht höchstns i Höh 2lo(n + 1). is. Wir in unächst, ß jr Untrum mit Wurl minstns 2 sh() 1 innr Knotn nthält. is in ir mittls vollstänir Inuktion ür i Höh von. 1

6 inär Suchäum 26 1 41 3 10 14 21 30 10 16 19 28 38 12 20 35 39 4 T. 6.: r Knotn T Höh()=0: ist T un nthält hr 2 sh() 1 = 2 0 1 = 0 innr Knotn. Wir trchtn nun für n Inuktionsschritt inn Knotn, r in positiv Höh ht un r in innrr Knotn mit i Kinrn ist. Js Kin ht ntr in schr Höh von sh() or sh() 1, j nchm, o s in rotr or in schrr Knotn ist. i Kinr von in um ins klinr Höh ls hn, folt us r Inuktionsnnhm, ß i Zhl r innrn Knotn minstns (2 sh() 1 1) + (2 sh() 1 1) + 1 = 2 sh() 1 ist. Si h i Höh s ums. Minstns i Hälft r Knotn von r Wurl u irn inm ltt sin schr. Hirus folt: sh(root) h/2 n 2 h/2 1 2lo(n + 1) h us m oin Lmm folt irkt: i Such nch inm lmnt, m Minimum, m Mimum, m Succssor or Prcssor ins lmnts knn in inm Rot-Schr-um mit n Knotn in Zit O(lon) usführt rn. uch i im vorhrhnn schnitt schrinn Funktionn tr insrt un tr lt hn in Lufit von O(lon). Nch r ntsprchnn Oprtion lit joch vntull kin Rot-Schr-um mhr vor. Wir rn im folnn schnitt lrnn, ß mn mittls sonnntr Rottionn von Tiläumn un mittls Umfärn r Knotn i inschftn s Rot-Schr- ums irhrstlln knn. 6.3.1 Rottionn Um nch infüunn un Löschunn im um i inschftn s Rot-Schr- ums irhrustlln, müssn iss Knotn umfärt rn, un mnch Zir müssn änrt rn. is sonnntn Rottionn sin lokl Änrunn r 2

6.3 Rot-Schr-äum umstruktur, i i rhltun r Ornunsinschft rntirn. ilun 6.8 it i Rottion von Knotn im um T nch links un rchts. Wir nhmn n, ß s rcht Kin y von nicht (T) ist. i Links-Rottion rht n um um i Knt von nch y hrum. i nu Wurl s Untrums ist mit y, ir um linkn Kin von y, s ishri link Kin von y ir rchts Kin von. i Rchts- Rottion vrläuft symmtrisch. i Oprtionn hn in Lufit O(1). Währn r Rottion rn usschlißlich Pointr vränrt, i ürin Knotnflr lin unrührt. lft_rott(t, ) y y riht_rott(t,y ). 6.8: Rottion im um T 6.3.2 infün in Rot-Schr-äum Wir vrnn in licht moifiirt Vrsion von tr insrt: voi R insrt ( Tr T, TrNo ) { TrNo =T >root ; // Zir um urchnrn s ums TrNo p=t; // Zir uf Vtr hil (!=T) { // urchmustrn s ums p= ; // Mn mrk s i c h n Vtr von i f ( >ky< >ky ) = >r i h t c h i l ; // i Such ht r c h t s i t r ls = >l f t c h i l ; // i Such ht l i n k s i t r >prnt=p ; i f ( p==t) T >root= ; // i s t i nu Wurl ls i f ( >ky<p >ky ) p >l f t c h i l = ; // Links von p i n f u n ls p >r i h t c h i l = ; // Rchts von p i n f u n >c o l o r=r; // r nu Knotn i s t r o t >l f t c h i l = >r i h t c h i l =T; // ht kin Kinr R i n s r t f i u p (T, ) ; // Hir r f o l t i Rprtur // s Rot Schr ums 3

6 inär Suchäum Wlch inschftn könnn urch s infün vrltt rn? 1. Jr Knotn ist ntr rot or schr. 2. i Wurl ist schr. 3. Js ltt [] ist schr. 4. Wnn in Knotn rot ist, nn sin sin Kinr schr. 5. Für jn Knotn ilt: ll Pf vom Knotn u lättrn im Untrum nthltn i lichn Zhl von schrn Knotn. i inschftn 2 un 4 könnn urch infü-oprtionn vrltt rn. inschft 2 könnn ir shr infch rntirn, inm ir m n r Rprtur-Prour R insrt fiup r Wurl immr i Fr schr uornn: T >root >color=lk. nur schr lättr [T] ls Kinr ht, knn inschft 4 nur vrltt rn, nn r Vtr prnt von uch rot ist. i mölichn Vrltunn ntsthn lso urch, ß rot färt ir. Wir könnn nun ri Fäll untrschin, für i ir jils i ntsprchnn Til r Prour R insrt fiup nn. Fll 1: r Onkl y von ist uch rot (. 6.9). <WHIL LOOP>: hil ( >prnt!= && >prnt >c o l o r==r) { i f ( >prnt== >prnt >prnt >l f t c h i l ) { y= >prnt >prnt >r i h t c h i l ; <FLL 1>: i f ( y >c o l o r==r) { y >c o l o r=lk; >prnt >c o l o r=lk; >prnt >prnt >c o l o r==r; = >prnt >prnt ; ls { <FLL 2> ls {... // symmtrisch ur r s t n i f S c h l i f Fll 2: r Onkl y von ist schr un ist in rchts Kin (. 6.10). <FLL 2>: i f ( == >prnt >r i h t c h i l ) { = >prnt ; l f t r o t t (T, ) ; 4

6.3 Rot-Schr-äum y y. 6.9: Rprtur-Prour Rot-Schr-um, Fll 1 y y. 6.10: Rprtur-Prour Rot-Schr-um, Fll 2 Fll 3: r Onkl y von ist schr un ist in links Kin. <FLL 3>: ls { >prnt >c o l o r=lk; >prnt >prnt >c o l o r=r; r i h t r o t t (T, >prnt ) ; i Prour R insrt fiup ht mit foln Form: voi R i n s r t f i u p ( Tr T, TrNo ) { TrNo y ; // H i l f s p o i n t r f u r Onkl <WHIL LOOP> T >root >c o l o r=lk; i Lufit von R insrt ist O(lon). 6.3.3 Löschn in Rot-Schr-äumn s Löschn ins Knotns us inm Rot-Schr-um ist shr ähnlich um Löschn in infchn inärn Suchäumn. i sntlich Änrun stht rin, ß mn m n r Prour ir in Rprtur-Prour R lt fiup strtt. Flls in rotr Knotn löscht ir, lin i inschftn s Rot-Schr-ums rhltn. Nur im ntfrnn ins schrn Knotns könnn is inschftn vrltt rn. ri Prolm könnn i uftrtn: P1: r ntfrnt Knotn y r i Wurl, un in rots Kin von y ist nch m Löschn von y i nu Wurl. Lösun: Fär schr 5

6 inär Suchäum P2: Flls s ini Kin s löschtn Knotns y un r Vtr von y rot sin, nn ist nch m Löschn i inun 4 vrltt. P3: Pf, i y nthltn hn, hn nun inn schrn Knotn nir. shl ist i inun 5 für ll Vorfhrn von y vrltt. s rst Prolm ist infch u lösn. Wir trchtn im folnn, i P2 un P3 hnlt rn könnn. 6

6.3 Rot-Schr-äum Si s Kin von y. [] Ist rot, so färn ir schr, un inun 5 ist ir rfüllt. is ist uch r ini Fll, in m i rot Knotn nch m Löschn ufinnr foln könnn, un somit ist uch inun 4 ir rfüllt. [] Ist schr un könntn ir inn itrn Schr-Wrt uornn (lso inssmt i), so är i inun 5 irhrstllt. in Rot-Schr- um joch kin Zählr für Frinhitn sitt, müssn ir itr Rprturn urchführn, um jils n Knotn mit m künstlichn Schr-Wrt von i u rprirn. i hnln ir (mit ) soln n Pf ur Wurl ntln, is i Vrltun von inun 5 liminirt ist. r Knotn si immr r rur von. Wir untrschin vir Fäll un innn mit m lttn Fll. In n uhörin ilunn könnn i lu ichntn Knotn ntr rot or schr färt sin. Fll 4: ist schr, un sin rchts Kin ist rot: ilun 6.11. kommt i Fr von. Wir führn in Links-Rottion uf prnt us un ntfrnn i it Schrmrkirun von. Fll 2: un i Kinr von sin schr: ilun 6.12. Flls rot ist, färn ir schr un rot un sin frti. Fll 3: ist schr, un sin links Kin ist rot: ilun 6.13. Wir könnn i Frn von un sinm linkn Kin änrn un nschlißn in Rchts-Rottion uf usführn, ohn in r Rot-Schr-inschftn u vrltn. r nu rur von ist jtt in schrr Knotn mit inm rotn Kin r rcht Til r ilun it, ß ir mit i Fll 4 lnn. Fll 1: ist rot: ilun 6.14. schr Kinr hn muß, könnn ir i Fr von un prnt änrn un nn in Links-Rottion uf prnt usführn, ohn i Rot-Schr-inschftn u vrltn. r nu rur von (ins von s Kinrn vor r Rottion) ist jtt schr. Flls ir von Fll 1 us in Fll 2 lnt sin, ist r nu Knotn rot färt, un ir färn ihn schr. mit ist i Rprtur nt. Zusmmnfssun r Rprtur-Prour: 1. Flls ir i Mölichkit hn, n Fhlr irkt u liminirn (Fll 4), führn ir i ntsprchn Trnsformtion sofort us. 2. Flls in soforti Rprtur nicht mölich ist, trnsformirn ir n um so, ß ntr i Rprtur im nächstn Schritt vollstäni rfoln knn (Fll 3)

6 inär Suchäum kommt i Fr von. 6.11: Löschn in inm Rot-Schr-um, Fll 4. 6.12: Löschn in inm Rot-Schr-um, Fll 2 or im ürnächstn (Fll 1), or ß uminst uf m Pf ur Wurl in n hochhon rn knn (Fll 2). i Lufit r Rprtur-Prour un r smtn ntfrnn-oprtion ist O(lon). St 6.4. ll uf Sit 65 ufführtn ynmischn Oprtionn hn uf Rot- Schr-äumn mit n lmntn Lufit O(lon). 6.4 VL-äum Zur rinnrun: i Höh ins Knotns v in inm um T ist lich r Län s länstn Pfs von v u inm Nchkommn von v. i Höh s ums T ntspricht r Höh sinr Wurl. finition 6.4. in Untrum ins Knotns v ist in mimlr Tilum, ssn Wurl in Kin von v ist (sih. 6.).. 6.13: Löschn in inm Rot-Schr-um, Fll 3 8

6.4 VL-äum. 6.14: Löschn in inm Rot-Schr-um, Fll 1 v. 6.: Miml Tiläum finition 6.5. Wir finirn i lnc ins Knotns v ls l(v) = h l h r, oi h l un h r i Höhn s linkn. s rchtn Untrums von v sin. i Höh ins lrn ums ir ls 1 finirt. finition 6.6. Wir nnnn v lncirt, flls l(v) { 1, 0, 1. Sonst nnnn ir v unlncirt. finition 6.. in VL-um ist in um, in m ll Knotn lncirt sin. Wi knn mn nun lmnt in inn VL-um infün un i i lnc- inschft ufrchtrhltn? Zunächst nötit jr umknotn v inn itrn intr h(v), in m i Höh s Knotns spichrt ir. Wir vrnn i infü-prour für inär Suchäum tr insrt (sih S.69). urch s infün änrn sich vntull i Höhn r Knotn uf m W vom infütn Knotn ur Wurl, un mit ht vntull i lnc isr Knotn vrlorn. in ispil für it ilun 6.16. Um i lnc-inschft irhrustlln, nrn ir n (rotn) Pf vom nu infütn lmnt (hir Knotn 6) is ur Wurl s ums nch on un rchnn i i nun Wrt für Höh un lnc. Gnnflls führn ir in Trnsformtion urch, um i lnc irhrustlln. 5 20 5 20 10 13 6 10 13. 6.16: im infün ins Knotns in inn VL-um knn sich i lnc r Knotn im um änrn 9

6 inär Suchäum u u. 6.1: opplrottion in inm VL-um, Fll 1 v 3 0 Z 6 0? u 5? 5 3 20 1-2 12? 12 2 0 10 1 10? 1 13 0 1 0 v 3 1 Z 10 2 20 1 u 0 5 1 12? 12 1 0 3 0 10? 6 0 0 13 0 0 0. 6.: r VL-um (Fll 1) nch r opplrottion i Höh ins Knotns v rchnn ir i folt: h(v) = m{h(lft chil), h(riht chil) + 1 Si u r rst Knotn (Knotn mit mimlr Tif), r nch r infü-oprtion nicht mhr lncirt ist, un si v r link Sohn von u un r rcht Sohn von u. l(u) ist ntr +2 or 2. is in Fäll sin symmtrisch. shl trchtn ir hir nur n Fll l(u) = 2. l(u) = 2, muß follich u in Üricht nch rchts hn. Fll 1: l() = 1: Si r link Sohn von. Wir führn in oppl-rottion us: 1. riht rott(t,) 2. lft rott(t,u) r schmtisch Vorn ist in ilun 6.1 rstllt. Für unsrn konkrtn um ist s rnis in ilun 6. u shn. Fll 2: l() 0, 1: r schmtisch Vorn für Fll 2 ist in ilun 6.19 rstllt. Im ispil in ilun 6.20 ur Knotn 14 nu infüt; i ilun it s rnis nch r rfoltn Rottion. Soohl i opplrottion im Fll 1 ls uch i infch Rottion im Fll 2 knn urch Umstn r ntsprchnn Zir in konstntr Zit usführt rn. s lich ilt uch für i Höhn- un lnc-rchnunn. ll Knotn ntln s Pfs vom infütn lmnt ur Wurl müssn vntull rprirt rn. mn für jn Knotn joch nur konstnt Zit nötit, ht i infüprour i Lufit O(lon), oi n i Zhl r lmnt im um ist. 80

6.5 nmrkunn u u. 6.19: Rottion in inm VL-um, Fll 2 v 3 0? u 5? 5 3 20 1-2 12? 12 2 0-1 10 0 10? 13 1-1 14 0 0 v 3 0 u 5? 5 1 0 3 1 12 2 20 1 0 13 1 0-1 10 0 10? 14 0 0. 6.20: VL-um nch r opplrottion. infüt ur Knotn 14. uch s ntfrnn ins lmnts innt mit r ülichn Prour für inär Suchäum, i u inn iss Kpitls iskutirt ur. nn ir i im infün r Pf ur Wurl rprirt. hr knn uch s Löschn ins lmnts in Zit O(lon) urchführt rn. St 6.5. VL-äum untrstütn ll Oprtionn ins Wörtruchs in O(lon) Zit, oi n i nhl r lmnt im um ist. 6.5 nmrkunn In ormn t.l. [2] finn sich i Oriinl-Kpitl inry Srch Trs un R-lck Trs, i i Grunl für isn schnitt iltn. 81