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