Professional Documents
Culture Documents
D E F
Árbol Binario perfectamente Equilibrado
• Si para cada nodo el número de A
Equilibrado
nodos en el subárbol izquierdo B C
y el número de nodos en el
subárbol derecho, difiere como D E F
mucho en una unidad.
• Hay que tener en cuenta todos
NO Equilibrado
los nodos del árbol. A
B C
D E
Árbol Binario Completo
NO Completo
• Es un árbol binario con hojas A
como máximo en los niveles n- B C
1 y n (Siendo n el nivel del
árbol) D E
F
A
Completo
B C
D E
50
Árbol Binario Ordenado
25 70
Ordenado
• Si para cada nodo del árbol, los
nodos ubicados a la izquierda
son inferiores al que 8 30
consideramos raíz para ese
momento y los nodos ubicados
a la derecha son mayores que la
NO Ordenado
50
raíz.
• Este tipo de árbol se utiliza
ampliamente para búsqueda de 25 70
información.
8 51
Ejercicio
Del siguiente árbol diga si:
Esta equilibrado :
Esta completo :
Esta ordenado :
Ejercicio
Del siguiente árbol diga si:
Esta equilibrado :
Esta completo :
Esta ordenado :
Ejercicio
Del siguiente árbol diga si:
Esta equilibrado :
Esta completo :
Esta ordenado :
Árbol de expresión
• Una aplicación muy importante de los árboles binarios son los árboles
de expresiones.
• Una expresión es una secuencia de tokens (componentes de léxicos
que siguen unas reglas establecidas).
• Un token puede ser un operando o bien un operador.
Ejemplo
• Expresión infija y su árbol
de expresión.
• representa la expresión
infija a * (b + c) + d junto a
su árbol de expresión.
• El nombre de infija es
debido a que los
operadores se sitúan entre
los operandos.
Árbol de expresión
• Un árbol de expresión es un árbol binario con las siguientes propiedades:
1. Cada hoja es un operando.
2. Los nodos raíz y los nodos internos son operadores.
3. Los subárboles son subexpresiones cuyo nodo raíz es un operador.
1 6 10
Recorrido Árbol Binario: In-Orden
17
• Recorrer el subárbol izquierdo
en in-orden.
• Visitar la raíz. 8 25
1 6 10
Recorrido Árbol Binario: Post-Orden
17
• Recorrer el subárbol izquierdo
en post-orden.
• Recorrer el subárbol derecho en 8 25
post-orden.
• Visitar la raíz.
4 12 20 32
1 6 10
Ejercicio
• Para en siguiente árbol, 17
escriba los datos para el
recorrido:
8 25
PRE-Orden:
IN-Orden: 4 12 20 32
POST-Orden:
1 6 10
Inserción ordenada de Datos
• Se toma el dato a ingresar X
• Partiendo de la raíz preguntamos: Nodo == null ( o no existe ) ?
• En caso afirmativo X pasa a ocupar el lugar del nodo y ya hemos ingresado
nuestro primer dato.
• En caso negativo preguntamos: X < Nodo
• En caso de ser menor pasamos al Nodo de la IZQUIERDA del que acabamos
de preguntar y repetimos desde el paso 2 partiendo del Nodo al que
acabamos de visitar
• En caso de ser mayor pasamos al Nodo de la DERECHA y tal cual hicimos
con el caso anterior repetimos desde el paso 2 partiendo de este nuevo
Nodo.
Árboles Binarios Balanceados (AVL)
• AVL para poder eliminar las aberraciones como los árboles
degenerados.
• La única diferencia a los ABB son que en la inserción y eliminación se
debe dejar el árbol balanceado.
• Para su implementación necesitamos un nuevo campo en su
estructura, “Factor de Balance” donde este es igual a la resta entre
altura subárbol derecho y altura subárbol izquierdo.
• En un AVL este FB debe estar entre [-1, 1] para estar correctamente
balanceado.
Rotaciones???