You are on page 1of 16

Estructura de Datos II

Árboles
Árboles Balanceados
Árboles Balanceados

Definición

• Los árboles binarios de búsqueda permiten buscar de


manera eficiente información, sin embargo, si crecen de
manera desordenada, la búsqueda se hace cada vez
más ineficiente

• También son llamados AVL

• Los árboles balanceados son un caso especial de los


árboles binarios de búsqueda
2
Árboles Balanceados

Definición

• Un árbol balanceado es un árbol binario de búsqueda,


en el cuál, para cada nodo del árbol, la altura del
subárbol izquierdo y el subárbol derecho, no son
diferentes en más de una unidad

3
Arboles Balanceados

Balanceado No Balanceado

4
Arboles Balanceados

Inserción

La inserción en un árbol balanceado debe realizarse


cuidadosamente, con el fin de que al terminar la inserción
el árbol continúe estando balanceado.

Los casos de inserción serán los siguientes:

5
Arboles Balanceados

Casos de Inserción

1. La rama izquierda y derecha del árbol tienen la misma


altura.

1. Si se inserta un elemento en la rama izquierda, la rama


amentará en una unidad su altura y no se violará el balance del
árbol

2. Si se inserta un elemento en la rama derecha, la rama


aumentará en una unidad su altura y no se violará el balance
del árbol

6
Arboles Balanceados

Casos de inserción

2. La rama izquierda y derecha del árbol tienen distinta


altura, y se insertará un elemento en la rama que tiene
menor altura

En este caso, ambas ramas pasarán a tener la misma


altura, por lo que mejora el balance del árbol

7
Arboles Balanceados

Casos de Inserción

3. La rama izquierda y derecha del árbol tienen distinta


altura, y se insertará un elemento en la rama que tiene
mayor altura

En este caso, el balance del árbol se romperá, por lo que


será necesario reestructurar el árbol para devolverle el
balance

8
Árboles Balanceados

Factor de Equilibrio

Se define como la altura del subárbol derecho menos la


altura del subárbol izquierdo:

FE = hderecho – hizquierdo

• Si FE = {-1,0,1}, el nodo está balanceado


• En caso contrario, el nodo está desbalanceado y se
hace necesario hacer una rotación

9
Árboles Balanceados

Rotaciones

• Simples
– Izquierda Izquierda (II)
– Derecha Derecha (DD)
• Compuestas
– Izquierda Derecha (ID)
– Derecha Izquierda (DI)

10
Árboles Balanceados

Rotación Izquierda Izquierda

11
Árboles Balanceados

Rotación Derecha Derecha

12
Árboles Balanceados

Rotación Izquierda Derecha

13
Árboles Balanceados

Rotación Derecha Izquierda

14
Arboles Balanceados

A = {65,50,23,70,82,68,39}

15
Arboles Balanceados

Eliminación en Árboles Balanceados

• La eliminación en árboles balanceados es un poco más


compleja que la inserción.

• En primer lugar, se siguen las mismas reglas que en los


árboles binarios de búsqueda para eliminar un nodo

• Luego, se realizan rotaciones (II,ID,DD,DI) sucesivas en


el árbol desde los niveles inferiores hasta la raíz hasta
que el árbol se encuentre nuevamente balanceado
16

You might also like