Cap´ıtulo XII ´Arvores Binárias Perfeitamente Equilibradas e

Propaganda
Capı́tulo XII
Árvores Binárias
Perfeitamente Equilibradas
e
Equilibradas
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
1
Árvore Binária Perfeitamente Equilibrada
Todo o nó X verifica a propriedade:
NúmeroDeNós( sub-árvore esquerda de X ) −
≤ 1.
NúmeroDeNós( sub-árvore direita de X )
'$
'$
x
a
&%
@
@
@
@
'$'$
y
z
&%&%
&%
H
HH
H
HH
H
H
'$
'$
c
b
&%
&%
@
@
@
@
@
@
@
@
'$'$
'$
d
e
f
&%&%&%
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
2
Altura Máxima de uma Árvore Binária
Perfeitamente Equilibrada com n Nós
H(0) = 0
= log 1
H(1) = 1
= log 2
H(2) = 2
= dlog 3e
H(3) = 2
= log 4
H(4) = 3
= dlog 5e
H(n) = dlog(n + 1)e
Base da Indução (n = 0)
H(0) = 0 = dlog 1e
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
3
Caso Geral (1)
H(n) = dlog(n + 1)e
Se n é ı́mpar (n ≥ 1)
'$
1
&%
@
@
@
@
n−1
2
n−1
2
H(n) = 1 + H( n−1
2 )
H.I.
= 1 + dlog( n−1
2 + 1)e
= ···
= dlog(n + 1)e
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
4
Caso Geral (2)
H(n) = dlog(n + 1)e
Se n é par (n ≥ 2)
'$
1
&%
@
@
@
@
n
2
n −1
2
H(n) = 1 + H( n
2)
H.I.
= 1 + dlog( n
2 + 1)e
= ···
= dlog(n + 1)e
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
5
Árvore Binária Equilibrada
Todo o nó X verifica a propriedade:
Altura( sub-árvore esquerda de X ) −
≤ 1.
Altura( sub-árvore direita de X )
'$
'$
x
a
&%
@
@
@
@
'$'$
y
z
&%&%
&%
HH
H
HH
H
HH
'$
'$
c
b
&%
&%
@
@
@
@
'$'$
e
f
&%&%
Proposição: Uma árvore binária perfeitamente equilibrada é uma árvore binária equilibrada.
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
6
Número Mı́nimo de Nós de uma Árvore Binária
Equilibrada com altura h (1)
'$
1
&%
@
@
@
@
h−1
h−2
N (0) = 0
N (1) = 1
N (h) = 1 + N (h − 1) + N (h − 2)
(para h ≥ 2)
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
7
Número Mı́nimo de Nós de uma Árvore Binária
Equilibrada com altura h (2)
Altura h
Número Mı́nimo de Nós
Fibonacci(h)
0
0
0
1
1
1
2
2
1
3
4
2
4
7
3
5
12
5
6
20
8
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
8
N (h) = Fibonacci(h + 2) − 1
Base da Indução (h = 0, 1)
N (0) = 0 = Fibonacci(2) − 1
N (1) = 1 = Fibonacci(3) − 1
Caso Geral (h ≥ 2)
N (h)
=
H.I.
1 + N (h − 1) + N (h − 2)
=
1 + Fibonacci(h + 1) − 1 + Fibonacci(h) − 1
=
Fibonacci(h + 2) − 1
Margarida Mamede, DI – FCT/UNL
AED, 2009/10, Capı́tulo XII
9
Altura Máxima de uma Árvore Binária
Equilibrada com n nós
Dado n (o número total de nós), existe h tal que:
Fibonacci(h
+ 2) − 1}
{z
≤
|
h é a maior altura
com n nós
n
< |Fibonacci(h
+ 3) − 1}
{z
número mı́nimo de nós
para altura h + 1
Fibonacci(h + 2) − 1 ≤ n
√1 φh+2 ≤ n
5
log n + log
h ≤
log φ
Margarida Mamede, DI – FCT/UNL
√
5
− 2 ≈ 1.44 log n − 0.33
AED, 2009/10, Capı́tulo XII
10
Download