A feladat : Építsünk AVL-fát a következő adatokból:100,170,74,81,136,185,150,122,52,190,144 (Az AVL-fa olyan bináris keresőfa, amelynek minden csúcsára igaz hogy : | h(bal(x))-h(jobb(x)) | <=1 , ahol a h függvény megadja a (rész)fa magasságát.) ---------- > ---- > Ezen elemek beszúrása után látható, hogy nem romlik el az AVL-tulajdonsága a fának.
-- >….-- > Ha a megadott sorrendben szúrjuk be az elemeket, akkor továbbra sem romlik el a fa kiegyensúlyozottsága egészen az utolsó( 144-es ) elem beszúrásáig(lásd következő dia) :
Ezen a képen látszik, hogy a 144-es elem beszúrása után elromlott az AVL-tulajdonság, ugyanis a 100-as csúcs jobb részfájának magassága 2-vel nagyobb, mint a bal részfájának magassága. Ezt jelzi a ++ os címke. Az = azt jelenti, hogy ugyanolyan magas a bal és a jobb részfa, a +-nál a jobb részfa eggyel magasabb, a –nál eggyel alacsonyabb. Erre a problémára(++) megoldás a forgatás :
Négy fajta forgatás van, ezek közül ebben az esetben az úgynevezett (++,-)-os forgatást kell alkalmazni: Az ábra szerint: a<x<b<z<c<y<d Ennek az állapotnak a forgatás után is meg kell maradnia, továbbá meg kell javulnia az AVL-tulajdonságnak.
Itt azt látjuk, hogy az előbbi sorrend(a<x<b<z<c<y<d) megmaradt, és az AVL-tulajdonság is helyreállt.
Ezek után a példafeladat forgatással kapott végeredménye: