1. ARBOL
• Los árboles representan estructuras
dinámicas de datos, debido a que pueden
cambiar en tiempo de ejecución y no lineales
puesto que a cada elemento del árbol pueden
seguirle varios elementos.
2. ÁRBOLES
• Un árbol es una estructura jerárquica aplicada
sobre una colección de elementos
u objetos llamados nodos; uno de los cuales es conocido
como raíz. Además se crea una relación de parentesco
entre los nodos dando lugar a términos como
padre, hijo, hermano, antecesor, sucesor, ancestro,etc.
• Formalmente se define un árbol de tipo T como
una estructura homogénea que es la concatenación
de un elemento de tipo T con un número finito de
arboles disjuntos llamados subárboles.
3. FORMAS DE REPRESENTACION DE UN
ÁRBOL
A
C
B
E
G
H
F
D
I
J
K
L
Diagramas de Venn
(A (B (D ( I ), E, F (J, K )), C (G, H ( L ))))
Anidación de paréntesis
4. APLICACIONES
A
B
D
I
C
E
G
F
J
K
H
L
Los árboles tienen una gran variedad de aplicaciones.
Para construir un árbol genealógico, para el análisis de circuitos eléctricos y
para numerar los capítulos y secciones de un libro.
Gráficamente puede representarse una estructura de diferentes formas y todas
ellas equivalentes.
Por medio de grafos, esta última representación es la que comúnmente se
utiliza; y ha originado el término árbol por su parecido abstracto con el
vegetal (raíz, ramas, hojas).
5. CARACTERÍSTICAS Y PROPIEDADES DE LOS ÁRBOLES
a)
b)
c)
d)
e)
f)
g)
h)
i)
Todo árbol que no es vacío, tiene un único nodo raíz.
Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado
por el nodo Y. En este caso es común utilizar la expresión X es hijo de Y.
Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y.
En este caso es común utilizar la expresión X es padre de Y.
Se dice que todos los nodos que son descendientes directos (hijos) de un
mismo nodo (padre), son HERMANOS.
Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de
TERMINAL u HOJA.
Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de
INTERIOR.
GRADO es el número de descendientes directos de un determinado nodo.
GRADO DE ÁRBOL, es el máximo grado de todos los nodos del árbol.
NIVEL es el número de arcos que deben ser recorridos para llegar a un
determinado nodo. Por definición, la raíz tiene en nivel 1.
ALTURA del árbol es el máximo número de niveles de todos los nodos del
árbol.
6. Ejemplo: ÁRBOL GENERAL.
Dado el árbol general de la figura de abajo, se hacen sobre él las
siguientes consideraciones.
A
B
D
I
C
E
G
F
J
K
H
L
1.- A es la raíz del árbol.
2.- B es hijo de A. C es hijo de A. D es hijo de B. E es hijo de B. L es hijo de H.
3.- A es padre de B. B es padre de D. D es padre de I. C es padre de G. H es padre de L.
4.- B y C son hermanos. D,E y F son hermanos. G y H son hermanos. J y K son
hermanos.
5.- I, E, J, K, G y L son nodos terminales u hojas.
6.- B, D, F, C y H son nodos interiores.
7.- El grado del nodo A es 2. B es 3. C es 2. D es 1. E es 0. El grado del árbol es 3.
8.- El nivel del nodo A es 1. B es 2. D es 3. C es 2. L es 4.
9.- La altura del árbol es 4.
7. LONGITUD DE CAMINO (LC)
• Se define la longitud de camino X como el
número de arcos que deben ser recorridos
para llegar desde la raíz al nodo X. por
definición la raíz tiene longitud de camino 1,
sus descendientes directos 2…
• Por ejemplo el nodo I tiene una longitud de
camino igual a 4
8. LONGITUD DE CAMINO
INTERNO (LCI)
LONGITUD DE CAMINO
• Es la suma de las longitudes de camino de todos los nodos
del árbol, y se calcula por medio de la siguiente fórmula.
h
LC I
i= nivel del árbol
i 1
h= altura del árbol
Ni = número de nodos en el nivel i
ni * i
9. LONGITUD DE CAMINO
INTERNO (LCI)
LONGITUD DE CAMINO
Ejemplo
A
B
D
I
i= nivel del árbol
h= altura del árbol
ni = número de nodos en el nivel i
C
E
G
F
J
K
H
L
LCI = 1x1 + 2x2 + 5x3 + 4x4
LCI= 36
10. MEDIA DE LONGITUD DE
CAMINO INTERNO
LONGITUD DE CAMINO
• La media del longitud de camino se calcula con la siguiente
formula
LCIM = LCI /N
LCIM= media de longitud de camino interno
N = número de nodos
A
B
LCIM = 36/12
LCIM= 3
D
I
C
E
G
F
J
K
H
L
11. LONGITUD DE CAMINO
EXTERNO(LCE)
LONGITUD DE CAMINO
• ARBOL EXTENDIDO
Es aquel en el que el número de hijos de cada nodos es
igual al grado del árbol
En caso de que algún nodo no cumpla con esta condición
se debe incorporar al mismo tantos nodos especiales
como se requiera.
• NODOS ESPECIALES
Tienen como objetivo:
– Remplazar las ramas vacías o nulas
– No pueden tener descendientes
– Se representa en forma de cuadrado.
12. LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
A
B
D
I
C
E
G
F
J
K
Árbol extendido
H
L
Árbol general
El número de nodos especiales de este árbol es 25.
13. LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
• Es la sumatoria de las longitudes de camino
de todos los nodos especiales del árbol y se
calcula con la siguiente formula
DONDE:
h 1
h= ALTURA
i = NIVEL
i
Ne= NODO ESPECIAL
i 2
LC E
ne * i
14. LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
•
•
•
h= altura
i = nivel del árbol
Ne= numero de nodos especiales en el
nivel i
LCE= 1x2 + 1x3+11x4+12x5
LCE =109
15. MEDIA DE LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
• LA MEDIA DE LA LONGITUD DE CAMINO EXTERNO se calcula dividiendo el
LCE, para el número de nodos especiales.
LCEM= LCE/Ne
LCE= 109
Ne= 25
LCEM = 109/25=4.36
16. ÁRBOLES BINARIOS
Es una estructura ordenada, en el
cual cada nodo puede tener como
máximo dos subárboles conocidos
como subárbol izquierdo y subárbol
derecho, dependiendo de su
ubicación con respecto a la raíz
20. TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS
ÁRBOLES BINARIOS DISTINTOS
Estructura y distribución de arcos diferentes
a.
b.
27
27
14
14
57
57
7
7
11
11
21. TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS
ÁRBOLES BINARIOS SIMILARES
Estructura idénticas e información de nodos diferentes
b.
a.
27
14
7
27
0
14
7
1
11
57
22. TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS
ÁRBOLES BINARIOS EQUIVALENTES
Estructura idénticas e información de nodos iguales
b.
a.
27
14
7
27
57
14
7
11
11
57
24. ÁRBOLES BINARIOS COMPLETOS
ÁRBOLES BINARIOS
Árbol binario completo(ABC), es aquel en el cual todos
sus nodos excepto los del ultimo nivel tiene dos hijos
25. ÁRBOLES BINARIOS COMPLETOS
ÁRBOLES BINARIOS
CÁLCULO DEL NÚMERO DE NODOS.
Números de nodos(ABC)=2h -1
h= altura del árbol
Números de nodos(ABC)=24 -1
Números de nodos(ABC)=15
26. REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
•
Enlazar los hijos de cada nodo en forma vertical
27. REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
•
Enlazar los nodos hermanos en forma horizontal
29. REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
•
Girar aproximadamente 45 grados
30. ASPECTOS IMPORTANTES
ÁRBOLES BINARIOS
• Si la rama derecho de cada nodo excepto el nodo raíz es
diferente de vacío, se encuentra un nodo que era hermano en
el árbol general.
– 5 hermano de 4
– 6 hermano de 2
– 11 hermano de 5
• Si la rama izquierda de cada nodo excepto el nodo raíz es
diferente de vacío, se encuentra un nodo que era hijo en el
árbol general.
– 5 hermano de 6
– 2 hermano de 7
– 4 hermano de 9
31. ASPECTOS IMPORTANTES
ÁRBOLES BINARIOS
• Si la rama izquierda de cada nodo excepto el nodo raíz es
diferente de vacío, se encuentra un nodo que era hijo en el
árbol general.
– 5 hijo de 6
– 9 hijo de 5
– 4 hijo de 9
35. RECORRIDOS EN ÁRBOLES
BINARIOS
RECORRIDOS
Recorrido en preorden
• Visitar la raíz
• Recorrer el subárbol izquierdo
• Recorrer el subárbol derecho
Recorrido en inorden
• Recorrer el subárbol izquierdo
• Visitar la raíz
• Recorrer el subárbol derecho
Recorrido en postorden
• Recorrer el subárbol izquierdo
• Recorrer el subárbol derecho
• Visitar la raíz
36. RECORRIDOS EN ÁRBOLES
BINARIOS
Ejemplos:
Recorrido en preorden
104,71,17,3,18,19,240,108,110,
245
Recorrido en inorden
3,17,18 ,71 ,19, 104 , 108, 110
240, 245
Recorrido en postorden
3 18 17 19 71 110 108 245 240
104
38. ÁRBOLES DE BINARIOS DE
BÚSQUEDA
Formalmente se define un árbol binario de búsqueda de
la siguiente manera: Para todo nodo T del árbol se debe
cumplir que todos los valores almacenados en el subárbol
izquierdo de T sean menores o iguales a la información
guardada en el nodo T. De forma similar, todos los valores
almacenados en el subárbol derecho de T deben ser
mayores o iguales a la información guardada en el nodo T
39. OPERACIONS CON ÁRBOLES
BINARIOS
INSERCIÓN
1. Comparar la clave a insertar con la raíz del árbol. Si es mayor, se
sigue con el subárbol derecho. Si es menor, se continúa con el
subárbol izquierdo.
2. Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las
siguientes condiciones:
a. El subárbol derecho, o el subárbol izquierdo, es igual a vacío,
en cuyo caso procederá a insertar el elemento en el lugar que
le corresponde.
b. La clave que se quiere insertar está en el nodo analizado, por
lo tanto no se lleva a cabo la inserción. Este caso es válido sólo
cuando la aplicación exige que no se repitan elementos.
43. OPERACIONS CON ÁRBOLES
BINARIOS
BÚSQUEDA
La operación de búsqueda consiste en lo siguiente.
Comparar el valor buscado con la informara del nodo visitado, si no
es igual, se deberá continuar sólo por alguno de los dos subárboles
les.
44. OPERACIONS CON ÁRBOLES
BINARIOS
ELIMINACIÓN
En la eliminación de un árbol binario de búsqueda , se deben
distinguir los siguientes casos:
1. Si el elemento a eliminar es terminal u hoja, simplemente se
suprime redefiniendo el puntero de su predecesor.
2. Si el elemento a eliminar tiene un solo descendiente, entonces tiene
que sustituirse por ese descendiente.
3. Si el elemento a eliminar tiene los dos descendientes, entonces se
tiene que sustituir por el nodo que se encuentra más a la izquierda
en el subárbol derecho o por el nodo que se encuentra más a la
derecha en el subárbol izquierdo.