You are on page 1of 3

ZADATAK – AVL

Skicirajte izgradnju AVL stabla uslijed sljedećih promjena (navedenim redoslijedom) :

a) Upišite redom : 17, 12, 21, 5, 19, 7, 18


b) Uklonite 17 iz stabla
c) Koliko maksimalno možemo ukloniti čvorova iz konačno dobivenog stabla, a da ono i dalje
ostane AVL stablo ? (dubina ostaje ista)

RJEŠENJE :

a) - u zagradi je dan faktor ravnoteže svakog čvora

17 17
(-1) (0)

17 12 12 21
(0) (0) (0) (0)

17 17
(-1) (0)

12 21 12 21
(-1) (0) (-1) (-1)

5 5 19
(0) (0) (0)
17
(-1) -narušena ravnoteža  čvor 12
Uravnotežavanje :
12 21 - rotiramo čvor 7 oko čvora 5
(-2) (-1) - potom opet rotiramo čvor 7, ali oko
čvora 12

5 19
(1) (0)

7
(0)

17 17
(-1) (0)

12 21 7 21
(-2) (-1) (0) (-1)

7 19 5 12 19
(-1) (0) (0) (0) (0)

5
(0)

17 17
(1) (0)
rotiramo čvor 19
oko čvora 21

7 21 7 19
(0) (-2) (0) (0)

5 12 19 5 12 18 21
(0) (0) (-1) (0) (0) (0) (0)

18
(0)
b) Brisanje čvora 17 (Deletion by Copying – pomoću zamjenskog čvora)

17 18
(0) (0)

7 19 7 19
(0) (0) (0) (1)

5 12 18 21 5 12 21
(0) (0) (0) (0) (0) (0) (0)

c) Broj čvorova u AVL stablu dubine h ne može biti manji od minimuma kojeg izračunavamo
sljedećom rekurzivnom relacijom :

AVL(h) = AVL (h-1) + AVL (h-2) +1

Iz konačnog stabla iščitavamo h = 3, pa prema tome imamo da minimalni broj čvorova mora
biti (uz početne uvjete AVL(0) = 0 i AVL(1) = 1 ) :
AVL(3) = AVL (2) + AVL (1) + 1 = [AVL (1) + AVL (0) +1] + AVL (1) + 1 = [1 + 0 +1] +1 + 1 = 4 .
Zaključujemo, maksimalni broj čvorova koje možemo ukloniti, a da pri tome naše stablo
dubine 3 ostane AVL stablo jest 6-4=2.

You might also like