3 bes oge-et-noi IT5 Miklós sűös 6 décembe 6 3. Rang et coloiage (en) On associe ne ale entièe non-négatie à chaqe nœd. On a l appele le «ang» (aant de toe n meille nom), dénoté pa ang(). Le ang est coissant es la acine, comme la hate, mais aec n éqilibe pemissif ente de sos-abes fèes, pace qe pafois le ang d pèe est le même qe celi de l enfant. Le bt est de contôle le déséqilibe (top de angs identiqes mènent à ne pls gande hate possible), mais pas ecessiement (il fat ajste la stcte en O(log n) temps a pie à chaqe opéation). On a démonte qe les ègles à côté accomplissent eactement ce bt. Règles.. Po chaqe nœd a ecepté la acine, ang() ang(paent()) ang() +.. Po chaqe nœd aec n gand-paent ang() < ang ( paent(paent()) ). 3. Po chaqe nœd etene (nll) on a ang() = ang(paent()) =. a Po les bts de la discssion, on considèe les nœds etenes comme aant ne identité distincte, et donc paent() donne le paent d nœd même si est etene. ans le code on epésente les nœds etenes pa nll, comme d habitde. ang 3 8 5 4 7 9 3 9 6 lie de stocke les angs eplicitement, il sffit de stocke la difféence ente paent et enfant, en coloiant les nœds pa oge o noi. si ang(paent()) = ang(), alos est coloié pa oge si est la acine o ang(paent()) = ang()+, alos est coloié pa noi Théoème 3.. ans n coloiage alide, () chaqe nœd est soit noi soit oge (i) chaqe nœd etene (nll) est noie (ii) le paent d n nœd oge est noi (iii) tot chemin d n nœd à n nœd etene dans son sos-abe contient le même nombe de nœds nois émonstation de Théoème 3.. Popiété () Règle, (i) Règle 3, (ii) Règle. n (iii), le nombe de nœds nois égale ang(), en jstifiant l appellation hate noie. Lemme 3.. Po chaqe nœd, sa hate h() ang(). émonstation. S n chemin jsq à n nœd etene, il a a moins atant de nœds nois qe des oges. Lemme 3.3. Le nombe de déscendants intenes de chaqe nœd est ang(). émonstation. Pa indction [dans la hate de ]. Le théoème est ai po n nœd etene qand ang() =. Spposons qe le théoème est ai po tot aec ne hate h() < k. onsidéons n nœd aec h() = k et ses de enfants, aec h(), h() < k. Pa l hpothèse d indction, le nombe des descendants de est +( ang() )+( ang() ) = ang() + ang(). O, ang() ang(), ang(), o ang() + ang() ang(). Le théoème este donc ai po aec h() = k, et, en conséqence po tot. 3.
Théoème 3.4. La hate d n abe RN aec n nœds intenes est bonée comme lg(n+) h lg(n+). émonstation. La bone inféiee coespond à l abe binaie complet. La bone spéiee ient de 3. et 3.3 : ang(acine) n pa 3.3 ang(acine) lg(n + ) h/ lg(n + ) pa 3. 3. be RN : temps de calcl des opéations On ajste la stcte los d ne insetion o sppession de noed en pacoant n chemin es la acine, en O(h) temps po n abe de hate h. Pa Théoème 3.4, la hate d n abe RN est tojos h = Θ(log n), donc totes les opéations s eéctent en O(log n), même dans le pie cas. + Pomotion de Rétogadation de + + jstement de la stcte. Po mainteni l éqilibe, on tilise les otations comme aant + pomotion/étogadation (incémente o décemente le ang pa ). pomotion/étogadation change la cole d n nœd et ses enfants. on ne pet pomooi qe s il est noi aec de enfants oges (po ne pas iole Règle et Popiété (ii) de Théoème 3.) Insetion. On insèe aec ang() = sa cole est oge. Test : est-ce qe le paent de est oge? Si oi, on a n poblème ; sinon, ien à faie (cas a). Soltion : eamine le gand-paent = paent(paent()) : il est focément noi pa Popiété (ii) de Théoème 3.. Selon le coloiage des enfants de (le paent et l oncle de ), on fait ne séie de pomotions (cas b : oncle oge), siie pa ne o de otations (cas o : oncle noi), en configations ig-ag, ig-ig, etc. o o Sppession. Po la sppession, on tilise ne techniqe similaie : pocéde comme aec l abe binaie de echeche, pis etogadations en ascendant es la acine + O() otations (tois a pls) à la fin. L ajstement de la stcte dépat pa l eamination d nœd phsiqement enleé (donc, c est le sccesse o pédecesse si on a sppimé la clé d n nœd aec de enfants non-nll). Le nœd est emplacé pa qi est n des enfants de. Selon la difféence de angs ente et (donc cole de ), on fait ne séie de étogadations, et qelqes otations. 3.
INSRTION SUPPRSSION On insèe aec ang() = sa cole est oge. Test : est-ce qe le paent de est oge? Si oi, on a n poblème ; sinon, ien à faie (cas a). Soltion : soit = paent(paent()) le gand-paent il est noi. Si a de enfants oge, alos pomooi et etone a test aec (cas b). Si on a fini les pomotions et il a tojos le poblème qe est oge, son paent est oge assi, mais l oncle de est noi. On fait ne o de otations (cas o ) selon la elation de et paent() (a même côté o non). as a : paent noi as b : paent oge, oncle oge + + Pomotion de IT5 H9: RS ÉQUILIRÉS. MIKLÓS SŰRÖS. as a : paent noi as b : paent oge, oncle oge + Pomotion de + ien à faie pomotion d gandpaent, contine aec as : paent oge, oncle noi, ig-ig as : paent oge, oncle noi, ig-ag Insetion oge-noi Rotation doite à Rotation doble ien à faie pomotion d gandpaent, contine aec as : paent oge, oncle noi, ig-ig as : paent oge, oncle noi, ig-ag Rotation doite à Rotation doble ne otation simple ne otation doble 5.4 eletion dans l abe RN ne otation simple ne otation doble as : nœd oge il deient noi, et on aête as a : sœ noie, nee nois Po la délétion, on tilise ne techniqe as b : similaie sœ noie, : nee distant oge - pocéde comme aec l abe binaie de echeche, Retogadation de Rotation gache à pis etogadations en ascendant es la acine + - - - o - - - - O() otations (tois a pls) à la fin. - o - - - On - enlèe n nœd : emplacement - pa nll - (si - - o o - acn enfant) o pa l enfant non-nll. e denie pet ête de ang top petit (nœd noi emplacé pa nœd noi ). eletion oge-noi Plsies etogadation cas : d paent, contine aec en cas,, o ne otation simple as : nœd as oge c : sœ :étogadation noie, nee poche il deient oge noi, et ien pls à faie as : sœ oge as : nœd noi aec ne sœ noie Rotation doble as : nœd noi aec ne sœ oge - - - - n cas, il fat assi éifie la cole des enfants de la sœ (les nee) - - - - - - - Rotation gache à - - - - ne otation doble 4 ne otation simple, contine aec en cas (pas de écsion en a) 3.3
3.3 be -3-4 n fsionnant le nœds oges aec les paents nois, on obtient n abe -3-4 : c est n abe de echeche non-binaie où chaqe nœd fsionné compend i. soit clé et enfants (n sel nœd noi), ii. soit clés et 3 enfants (nœd noi aec n enfant oge), iii. soit 3 clés et 4 enfants (nœd noi aec de enfants oges), Pa la popiété d éqilibe che les abes ogeet-noi, totes les feilles de l abe -3-4 sont a même niea (ne feille est n nœd intene dont tos les enfants sont etenes) 3.4 Insetion dans n abe -3-4 On pet adapte les opéations de l abe oge-et-noi à l abe -3-4. Pa eemple : q est-ce qi se passe los d ne insetion? On cée n nœd oge, on pefome des pomotions en ascendant es la acine, aec ne otation possible à la fin. eci coespond à ne séqence de décopages, sii pa ne décalage dans le cas de l abe -3-4. 3.4
ang Pomotion ang + ang pomotion coespond à décopage («éclatement») en ascendant écopage Rotation otation coespond à décalage écalage (noelle acine) pomotion de la acine coespond à la céation d ne noelle acine écopage 3.5