Sunteți pe pagina 1din 36

Arbori binari stricti si echilibrati AVL

2012

abs

2012

1 / 10

Reamintim urmatoarele proprietati pentru un arbore binar strict T :


NE (T ) (sau NE ) = numarul de frunze ale lui T ;
NI (T ) (sau NI ) = numarul de noduri interne ale lui T ;
LE (T ) (sau LE ) = lungimea externa a lui T ;
LI (T ) (sau LI ) = lungimea interna a lui T ;

abs

2012

2 / 10

Reamintim urmatoarele proprietati pentru un arbore binar strict T :


NE (T ) (sau NE ) = numarul de frunze ale lui T ;
NI (T ) (sau NI ) = numarul de noduri interne ale lui T ;
LE (T ) (sau LE ) = lungimea externa a lui T ;
LI (T ) (sau LI ) = lungimea interna a lui T ;

Propozitie 1:
In oricare a.b.s. T avem relatia:
NE = NI + 1.

abs

2012

2 / 10

Reamintim urmatoarele proprietati pentru un arbore binar strict T :


NE (T ) (sau NE ) = numarul de frunze ale lui T ;
NI (T ) (sau NI ) = numarul de noduri interne ale lui T ;
LE (T ) (sau LE ) = lungimea externa a lui T ;
LI (T ) (sau LI ) = lungimea interna a lui T ;

Propozitie 1:
In oricare a.b.s. T avem relatia:
NE = NI + 1.

Propozitie 2:
In oricare a.b.s. T avem relatia:
LE = LI + 2NI .

abs

2012

2 / 10

Propozitie 3:
In oricare a.b. oarecare T de naltime h(T ) = d avem relatia:
NE 2 d .

abs

2012

3 / 10

Propozitie 3:
In oricare a.b. oarecare T de naltime h(T ) = d avem relatia:
NE 2 d .

Corolar 1:
In oricare a.b. oarecare T de naltime h(T ) = d avem relatia:
d dlog2 NE e.

abs

2012

3 / 10

Propozitie 3:
In oricare a.b. oarecare T de naltime h(T ) = d avem relatia:
NE 2 d .

Corolar 1:
In oricare a.b. oarecare T de naltime h(T ) = d avem relatia:
d dlog2 NE e.

Propozitie 4:
In familia a.b. stricti cu numar de frunze fixat, NE , lungimea externa
minima se atinge pentru aceia care au frunzele repartizate pe cel mult
doua niveluri adiacente.

abs

2012

3 / 10

Propozitie 5:
Lungimea extern
a minima a unui a.b.s. cu NE frunze este:
Lmin
= NE blog2 NE c + 2(NE 2blog2 NE c ).
E

abs

2012

4 / 10

Propozitie 5:
Lungimea extern
a minima a unui a.b.s. cu NE frunze este:
Lmin
= NE blog2 NE c + 2(NE 2blog2 NE c ).
E

Din Demonstratie:
Dac
a d = h(T )= n
altimea unui a.b.s. T pe care se atinge lungimea extern
a minima, avem 2
cazuri (cf. Prop. 4):

abs

2012

4 / 10

Propozitie 5:
Lungimea extern
a minima a unui a.b.s. cu NE frunze este:
Lmin
= NE blog2 NE c + 2(NE 2blog2 NE c ).
E

Din Demonstratie:
Dac
a d = h(T )= n
altimea unui a.b.s. T pe care se atinge lungimea extern
a minima, avem 2
cazuri (cf. Prop. 4):
Cazul (a)
Toate frunzele sunt la acelasi nivel, d = h(T ), daca NE = 2d .

abs

2012

4 / 10

Propozitie 5:
Lungimea extern
a minima a unui a.b.s. cu NE frunze este:
Lmin
= NE blog2 NE c + 2(NE 2blog2 NE c ).
E

Din Demonstratie:
Dac
a d = h(T )= n
altimea unui a.b.s. T pe care se atinge lungimea extern
a minima, avem 2
cazuri (cf. Prop. 4):
Cazul (a)
Toate frunzele sunt la acelasi nivel, d = h(T ), daca NE = 2d .
Cazul (b)
Frunzele nu sunt toate la acelasi nivel. Dar atunci ele sunt repartizate doar pe nivelurile d 1
(fie y nr. de frunze de la acest nivel), si d (fie 2x nr. de frunze de la acest nivel, x= nr. de
noduri interne de la nivelul d 1).
Se rezolv
a sistemul:

x + y = 2d1 (1)
x + y = NE
(2)
Avem:

nr. de frunze la nivelul d 1 = y = 2d NE ,


nr. de frunze la nivelul d = 2x = 2NE 2d .
abs

2012

4 / 10

Propozitie 6:
LE
Intr-un a.b.s. lungimea externa medie Lmedie
=
are marginea
E
NE
inferioara
Lmedie
blog2 NE c.
E

abs

2012

5 / 10

Teorema AVL

Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

abs

2012

6 / 10

Teorema AVL

Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL
Fie T un arbore binar strict si echilibrat AVL, cu n noduri interne. Fie
h(T ) naltimea lui. Avem:
log2 (n + 1) h(T ) 1.4404 log2 (n + 2) 0.328.

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL
Fie T un arbore binar strict si echilibrat AVL, cu n noduri interne. Fie
h(T ) naltimea lui. Avem:
log2 (n + 1) h(T ) 1.4404 log2 (n + 2) 0.328.
Mai precis: sunt satisfacute urmatoarele inegalitati:
(1) In orice arbore binar cu n noduri, avem
h(T ) log2 (n + 1).
(2) In orice arbore binar strict si echilibrat AVL, cu n noduri interne, avem
h(T ) (1/log2 )log2 (n + 2) + (log2 5/2log2 2)

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

Demonstratie:

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

Demonstratie:
Inegalitatea (1) este adevarata pentru a.b.s. n general (rezulta din Corolarul la
Prop. 3), si se poate demonstra direct pentru a.b. oarecari din n numarul
maxim de noduri la naltime data h.

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

Demonstratie:
Inegalitatea (1) este adevarata pentru a.b.s. n general (rezulta din Corolarul la
Prop. 3), si se poate demonstra direct pentru a.b. oarecari din n numarul
maxim de noduri la naltime data h.
Pentru a dem. ineg. (2) construim o clasa particulara de a.b.s. si echil. AVL,
arborii Fibonacci.

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

Demonstratie:
Inegalitatea (1) este adevarata pentru a.b.s. n general (rezulta din Corolarul la
Prop. 3), si se poate demonstra direct pentru a.b. oarecari din n numarul
maxim de noduri la naltime data h.
Pentru a dem. ineg. (2) construim o clasa particulara de a.b.s. si echil. AVL,
arborii Fibonacci.

Numerele Fibonacci (de ordinul 1)


F1 = F2 = 1 si relatia de recurenta Fn+2 = Fn+1 + Fn , pentru n 1.

abs

2012

6 / 10

Teorema AVL
Teorema AVL:
Margine superioara si margine inferioara pentru naltimea unui arbore binar
echilibrat AVL

Demonstratie:
Inegalitatea (1) este adevarata pentru a.b.s. n general (rezulta din Corolarul la
Prop. 3), si se poate demonstra direct pentru a.b. oarecari din n numarul
maxim de noduri la naltime data h.
Pentru a dem. ineg. (2) construim o clasa particulara de a.b.s. si echil. AVL,
arborii Fibonacci.

Numerele Fibonacci (de ordinul 1)


F1 = F2 = 1 si relatia de recurenta Fn+2 = Fn+1 + Fn , pentru n 1.

Formula Binet pentru numere Fibonacci

Fn = (1/ 5)(n n ), unde = (1 + 5)/2.


abs

2012

6 / 10

Demonstratie:
Construim prin recurenta familia de arbori binari (FTk )k0 , FTk = Arbore
Fibonacci (Fib Tree) de ordin k.

abs

2012

7 / 10

Demonstratie:
Construim prin recurenta familia de arbori binari (FTk )k0 , FTk = Arbore
Fibonacci (Fib Tree) de ordin k.
F T0 F T1 F T2

F T3

F T4

F Tk

...

F Tk2
F Tk1

F1 F2

F3

F4

F5

...

Fk+1

...

Fk1 + Fk

abs

2012

7 / 10

Lema 1:
Pentru orice k 0 arborele FTk este a.b.s.

abs

2012

8 / 10

Lema 1:
Pentru orice k 0 arborele FTk este a.b.s.

Lema 2:
Pentru orice k 1 arborele FTk are caracteristicile:
(a) h(FTk ) = k 1.
(b) NE (FTk ) = Fk+1 .
(c) NI (FTk ) = Fk+1 1.

abs

2012

8 / 10

Lema 1:
Pentru orice k 0 arborele FTk este a.b.s.

Lema 2:
Pentru orice k 1 arborele FTk are caracteristicile:
(a) h(FTk ) = k 1.
(b) NE (FTk ) = Fk+1 .
(c) NI (FTk ) = Fk+1 1.

Demonstratie:
Este suficient s
a demonstr
am (a) si (b), (c) este consecint
a a lui (b) prin Prop 1.
Inductie dup
a k, k 1.
k = 1: FT1 este ... cu h(FT1 ) = 0 si NE (FT1 ) = 1 = F2 .
Pp. (a) si (b) adev. pentru FTm , orice m < k.
Fie k oarecare, fixat, k 3. Avem:
(a) h(FTk ) = h(FTk1 ) + 1 = (k 2) + 1 = k 1.
(b) NE (FTk ) = NE (FTk1 ) + NE (FTk2 ) = Fk + Fk1 = Fk+1 .

abs

2012

8 / 10

Lema 1:
Pentru orice k 0 arborele FTk este a.b.s.

Lema 2:
Pentru orice k 1 arborele FTk are caracteristicile:
(a) h(FTk ) = k 1.
(b) NE (FTk ) = Fk+1 .
(c) NI (FTk ) = Fk+1 1.

Lema 3:
Pentru orice k 0 arborele FTk este echilibrat AVL.

abs

2012

8 / 10

Lema 1:
Pentru orice k 0 arborele FTk este a.b.s.

Lema 2:
Pentru orice k 1 arborele FTk are caracteristicile:
(a) h(FTk ) = k 1.
(b) NE (FTk ) = Fk+1 .
(c) NI (FTk ) = Fk+1 1.

Lema 3:
Pentru orice k 0 arborele FTk este echilibrat AVL.

Demonstratie:
Pt. k = 0, 1, 2 direct. Pt. k 3, (inductie), de dem. in nodul radacina se fol. (a) din Lema 2.

abs

2012

8 / 10

Lema 4:
In familia arborilor binari stricti si echilibrati AVL de naltime data, h,
arborii Fibonacci au numar minim de noduri interne.

abs

2012

9 / 10

Lema 4:
In familia arborilor binari stricti si echilibrati AVL de naltime data, h,
arborii Fibonacci au numar minim de noduri interne.

Demonstratie: Inductie dupa h


h = 0. Singurii a.b.Fib. ... au NI = 0.
h = 1. T1 = a.b.s. de n
altime 1 si nr minim de noduri interne, are 1 nod intern (r
ad
acina) si 2
frunze, i.e. T1 = FT2 .

abs

2012

9 / 10

Lema 4:
In familia arborilor binari stricti si echilibrati AVL de naltime data, h,
arborii Fibonacci au numar minim de noduri interne.

Demonstratie: Inductie dupa h


h = 0. Singurii a.b.Fib. ... au NI = 0.
h = 1. T1 = a.b.s. de n
altime 1 si nr minim de noduri interne, are 1 nod intern (r
ad
acina) si 2
frunze, i.e. T1 = FT2 .
Not
am cu Th un a.b.s. si echil. AVL de n
altime h care are nr. minim de noduri interne.
Ipot. inductie: pentru orice k, k < h avem Tk = FTk+1 .
h oarecare, h 2: fie Th ca mai sus. Are nod rad. cu fii left(Th ) si right(Th ). Putem pp. ca
h(left(Th )) > h(right(Th )).

abs

2012

9 / 10

Lema 4:
In familia arborilor binari stricti si echilibrati AVL de naltime data, h,
arborii Fibonacci au numar minim de noduri interne.

Demonstratie: Inductie dupa h


h = 0. Singurii a.b.Fib. ... au NI = 0.
h = 1. T1 = a.b.s. de n
altime 1 si nr minim de noduri interne, are 1 nod intern (r
ad
acina) si 2
frunze, i.e. T1 = FT2 .
Not
am cu Th un a.b.s. si echil. AVL de n
altime h care are nr. minim de noduri interne.
Ipot. inductie: pentru orice k, k < h avem Tk = FTk+1 .
h oarecare, h 2: fie Th ca mai sus. Are nod rad. cu fii left(Th ) si right(Th ). Putem pp. ca
h(left(Th )) > h(right(Th )).
Avem:
(i) h(left(Th )) = h 1 si NI (left(Th )) minim, deci left(Th ) = Th1 .
(ii) h(right(Th )) = h 2 si NI (right(Th )) minim, deci right(Th ) = Th2 .
Dar, cf. ipot. ind., Th1 = FTh si Th2 = FTh1 , deci, din (i) left(Th ) = FTh si din (ii)
right(Th ) = FTh1 , din care rezulta ca Th = FTh+1 .

abs

2012

9 / 10

Lema 4:
In familia arborilor binari stricti si echilibrati AVL de naltime data, h,
arborii Fibonacci au numar minim de noduri interne.

Demonstratie: Inductie dupa h


h = 0. Singurii a.b.Fib. ... au NI = 0.
h = 1. T1 = a.b.s. de n
altime 1 si nr minim de noduri interne, are 1 nod intern (r
ad
acina) si 2
frunze, i.e. T1 = FT2 .
Not
am cu Th un a.b.s. si echil. AVL de n
altime h care are nr. minim de noduri interne.
Ipot. inductie: pentru orice k, k < h avem Tk = FTk+1 .
h oarecare, h 2: fie Th ca mai sus. Are nod rad. cu fii left(Th ) si right(Th ). Putem pp. ca
h(left(Th )) > h(right(Th )).
Avem:
(i) h(left(Th )) = h 1 si NI (left(Th )) minim, deci left(Th ) = Th1 .
(ii) h(right(Th )) = h 2 si NI (right(Th )) minim, deci right(Th ) = Th2 .
Dar, cf. ipot. ind., Th1 = FTh si Th2 = FTh1 , deci, din (i) left(Th ) = FTh si din (ii)
right(Th ) = FTh1 , din care rezulta ca Th = FTh+1 .

Observatie:
Cf. Lemei 1 nr. minim de noduri interne pentru n
altime h dat
a va fi NI (FTh+1 ) = Fh+2 1.
abs

2012

9 / 10

Revenim la dem. Th. ineg. (2).

abs

2012

10 / 10

Revenim la dem. Th. ineg. (2).


Fie T un a.b.s. si echil AVL, cu n = NI (T ) noduri interne si n
altime h = h(T ). Cf. Obs. de
dup
a lema 4, avem
n Fh+2 1.
1
1
h+2 h+2 1 n,
5
5
unde =

1+ 5
,
2

1 5
.
2

abs

2012

10 / 10

Revenim la dem. Th. ineg. (2).


Fie T un a.b.s. si echil AVL, cu n = NI (T ) noduri interne si n
altime h = h(T ). Cf. Obs. de
dup
a lema 4, avem
n Fh+2 1.
1
1
h+2 h+2 1 n,
5
5

unde = 1+2 5 , = 12
Din 1 0 rezult
a

.
1
n h+2 2,
5
1
n + 2 h+2 ,
5
log2 (n + 2) (h + 2)log2

abs

1
log2 5.
2

2012

10 / 10

Revenim la dem. Th. ineg. (2).


Fie T un a.b.s. si echil AVL, cu n = NI (T ) noduri interne si n
altime h = h(T ). Cf. Obs. de
dup
a lema 4, avem
n Fh+2 1.
1
1
h+2 h+2 1 n,
5
5

unde = 1+2 5 , = 12
Din 1 0 rezult
a

.
1
n h+2 2,
5
1
n + 2 h+2 ,
5
log2 (n + 2) (h + 2)log2

1
log2 5.
2

Desfac, n fct. de h ... rezult


a
h

1
log2 5
log2 (n + 2) +
2 = a log2 (n + 2) + b,
log2
2log2

si a < 1.4404, b < 0.328.


q.e.d.
abs

2012

10 / 10

S-ar putea să vă placă și