arboles avl

7
1 Arboles AVL • Introducción Arboles AVL (Adel’son-Vel’skii and Landis

Upload: geraldo-garcia

Post on 02-Jan-2016

59 views

Category:

Documents


1 download

DESCRIPTION

Arboles AVL. Introducción Arboles AVL (Adel’son-Vel’skii and Landis. Arbol AVL. Los árboles AVL son balanceados. Un árbol AVL es un árbol binario de búsqueda tal que para cada nodo v de T, las alturas de los hijos de v difieren como mucho en 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Arboles AVL

1

Arboles AVL

• Introducción• Arboles AVL (Adel’son-Vel’skii and Landis

Page 2: Arboles AVL

2

Arbol AVL

• Los árboles AVL son balanceados.

• Un árbol AVL es un árbol binario de búsqueda tal que para cada nodo v de T, las alturas de los hijos de v difieren como mucho en 1.

88

44

17 78

32 50

48 62

2

4

1

1

2

3

1

1

Ejemplo de árbol AVL donde las alturas se muestran junto a los nodos

Page 3: Arboles AVL

3

Altura de un árbol AVL

• Proposición: La altura de un árbol AVL T que almacena n llaves es O(log n).

• Justificación: ....

Page 4: Arboles AVL

4

Inserción

88

44

17 78

32 50

48 62

2

5

1

1

3

4

2

1

54

1

T0T2

T3

x

y

z

2

3

4

5

67

1

88

44

17

7832 50

48

622

4

1

1

2 2

3

154

1

T0 T1

T2

T3

x

y z

inserta(54) -> desbalanceado...

...balanceado

1

2

3

4

5

6

7

Page 5: Arboles AVL

5

Restructuración• Hay cuatro formas de rotar nodos en un árbol AVL:

- Rotación simple:

T0T1

T2

T3

c = xb = y

a = z

T0 T1 T2

T3

c = xb = y

a = zsingle rotation

T3T2

T1

T0

a = xb = y

c = z

T0T1T2

T3

a = xb = y

c = zsingle rotation

Page 6: Arboles AVL

6

Restructuración (cont.)• Rotaciones dobles:

double rotationa = z

b = xc = y

T0T2

T1

T3 T0

T2T3T1

a = zb = x

c = y

double rotationc = z

b = xa = y

T0T2

T1

T3 T0

T2T3 T1

c = zb = x

a = y

Page 7: Arboles AVL

7

Eliminación• eliminar(32)