6. Az AVL-fa Adelszo-Velszkij és Ladisz, 96 Defiíció: t kiegyesúlyozott AVL-tulajdoságú t mide x csúcsára: bal x jobb x. Pl.: A majdem teljes biáris fa AVLtulajdoságú. Az AVL-fára, mit speciális alakú keresőfára, változatlaul érvéyesek a levezetett műveletek. Mide művelet beszúrás és törlés utá elleőrizzük, és a kell, elyreállítjuk az AVLtulajdoságot. Belátjuk:. Az AVL-fa maximális magassága:,44 log.. Az AVL-tulajdoság elyreállítása Θ illetve Ο log művelettel! Legkevesebb potszámú legmagasabb fa: Fiboacci-fa 0 Ω 0 4 4 7
Összefüggés az AVL-fa potszáma és magassága között: adattal felépítető fa miimális magassága? Majdem teljes biáris fa adattal felépítető fa maximális magassága? Ugyaez másogy: az adott magasságú AVL-fák között meyi a miimális potszám? 4 6 7 8 9 0 4 6 9 0 0 4 Jelölje a magasságú AVL-fák miimális potszámát. Pl.: 4. Rekurzív összefüggés: 0 Legye gg-g- - Fioacci-sorozat; F 0 0, F, F g0 g A g sorozat a -mal eltolt Fiboacci-sorozat: g F Ismeretes, ogy F
g,44 log log log log / 8 log : a -oz tartozó miimális potszám : az -ez tartozó Meggodolató, ogy eredméyük alapjá a fordított kérdésre is érvéyes a válasz. Ez azért kedvező, mert láttuk, ogy a keresőfa műveletei log t t Ο Ο mostai eredméyeket figyelembe véve Kérdés: Az AVL-tulajdoság milye ráfordítással tartató fe? A ibás esetek megfogatók sémába tükörképeik: A, szabály Ez jelzi, ogy elromlott az AVL-tulajdoság γ β α < < < < y x Ezt a traszformációt és a többit is forgatásak evezik. Eek a tükörképe a --, - szabály.
Pl.: ezt szúrtuk be Ha a fába em szerepele a 7, akkor a 0 romlaa el, és csak ezt kellee elyreállítai. Iduljuk el a beszúrt csúcs szülőjétől a gyökér felé. Addig mejük, amíg a korrekciókat elvégezve, vagy em jö, illetve amíg em változott csúcsoz em érük legfeljebb a gyökérig; a esetbe javítuk, ott lesz, és tovább már em kell ézi. B, - szabály Forgatás α < x < β < z < γ < y < δ Eek a tükörképe a --, szabály.
Pl.: Hogya kell ábrázoli az idikátorokat? Vagy bite iformáció vagy byte-o a magasságérték. örlésél a fizikailag törölt csúcs szülőjéél kezdjük a korrekciót. Ide kiegészítés tartozik Az AVL-tulajdoság elleőrzése egy útvoal bejárásával elvégezető, ami Οlog idejű. A forgatások pedig redre 6 illetve 0 poiter állítását igéylik, ez Ο műveletigéy. Végül teát Ο log Ο log Ο Ο log marad a műveletigéy.
Kiegészítés Megvizsgáljuk, ogya leet elyreállítai egy elromlott AVL-fát.. Beszúrás A. Ha a beszúrás atására, típusú lett az AVL-fa, akkor az új levél a γ részfába került. A beszúrás előtt a fa magassága volt. A forgatás utá ismét lett a magasság. Ezért feljebb, a fába a a létezik változatlaul érvéyes az AVL-tulajdoság; em kell feljebb mei elleőrizi és em kell forgati. B. Ha a beszúrás utá elromlott fa típusa, - típusú, akkor az új levél a z alatti β -ba vagy γ -ba került. Előzőleg a z csúcs alatt így ézett ki a fa: β γ - A beszúrás utá az egyik részfa magassága lett, a másik maradt -. Látató, ogy a beszúrás előtt az x gyökerű fa magassága volt, a forgatás utá ismét lesz. Ezért feljebb, a va befoglaló fa, ott már em romolat el az AVl-tulajdoság. Összefoglalva: A beszúrás utá az új levéltől felfelé aladva a gyökér felé újra számoljuk a csúcsok címkéit eze az útvoalo. Ha egy x csúcs címkéje vagy lesz, akkor az x gyökerű részfa forgatásával elyreállítató az AVL-tulajdoság. Beszúrás utá teát midig elegedő egyetle forgatás, a elromlott a fa. Műveletigéy Θ.
. örlés Haszáljuk az előző ábrákat! A., A törlés α törtét. Az α részfa magassága volt és lett. Az x gyökerű fa magassága -ról -re csökket. B., - A törlés itt is α -ba törtét. Az α magassága volt, lett. Az x gyökerű fa magassága - ról -re csökket. Ebbe az esetbe leet β γ. Összefoglalva: Mivel az x gyökerű fa magassága csökket a forgatással, ezért feljebb is, a va befoglaló fa, elromolatott az AVL-tulajdoság. Midkét esetbe. örlés utá a törölt elem szülőjétől kezdve eliduluk felfelé és újra számoljuk a csúcsok címkéjét, eze az útvoalo. Ha egy x csúcs címkéje vagy lesz, akkor az x gyökerű részfa forgatásával elyreállítatjuk aak AVL-tulajdoságát. Ha x em a gyökér, akkor feljebb kell lépi és folytati kell az elleőrzést. Szélsőséges esetbe az adott útvoal mide potjába forgati kell. Ez törtéik, a Fiboacci-fa legkisebb magasságú jobb szélső elemét töröljük. Műveletigéy: Ο log.