SlideShare una empresa de Scribd logo
1 de 45
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.
Á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.
E
G
KJI
A
B
D F
C
H
L
(A (B (D ( I ), E, F (J, K )), C (G, H ( L ))))
Diagramas de Venn
Anidación de paréntesis
FORMAS DE REPRESENTACION DE UN
ÁRBOL
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).
APLICACIONES
A
B C
D E F G H
I J LK
CARACTERÍSTICAS Y PROPIEDADES DE LOS ÁRBOLES
a) Todo árbol que no es vacío, tiene un único nodo raíz.
b) 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.
c) 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.
d) Se dice que todos los nodos que son descendientes directos (hijos) de un
mismo nodo (padre), son HERMANOS.
e) Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de
TERMINAL u HOJA.
f) Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de
INTERIOR.
g) 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.
h) 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.
i) ALTURA del árbol es el máximo número de niveles de todos los nodos del
árbol.
Ejemplo: ÁRBOL GENERAL.
Dado el árbol general de la figura de abajo, se hacen sobre él las
siguientes consideraciones.
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.
A
B C
D E F G H
I J LK
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
• Es la suma de las longitudes de camino de todos los nodos
del árbol, y se calcula por medio de la siguiente fórmula.
i= nivel del árbol
h= altura del árbol
Ni = número de nodos en el nivel i
∑=
=
h
i
i inLCI
1
*
LONGITUD DE CAMINO
LONGITUD DE CAMINO
INTERNO (LCI)
i= nivel del árbol
h= altura del árbol
ni = número de nodos en el nivel i
LCI = 1x1 + 2x2 + 5x3 + 4x4
LCI= 36
A
B C
D E F G H
I J LK
Ejemplo
LONGITUD DE CAMINO
INTERNO (LCI)
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
LCIM = 36/12
LCIM= 3
LONGITUD DE CAMINO
MEDIA DE LONGITUD DE
CAMINO INTERNO
A
B C
D E F G H
I J LK
• 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.
LONGITUD DE CAMINO
EXTERNO(LCE)
LONGITUD DE CAMINO
Árbol general
LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
Árbol extendido
A
B C
D E F G H
I J LK
El número de nodos especiales de este árbol es 25.
• Es la sumatoria de las longitudes de camino
de todos los nodos especiales del árbol y se
calcula con la siguiente formula
∑
+
=
=
1
2
*
h
i
i ineLCE
DONDE:
h= ALTURA
i = NIVEL
Ne= NODO ESPECIAL
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
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
MEDIA DE LONGITUD DE CAMINO EXTERNO(LCE)
LONGITUD DE CAMINO
Á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
EJEMPLOS
ÁRBOLES BINARIOS
• Árboles de búsquedas
27
14 57
7
77
32 59
11 50
EJEMPLOS
ÁRBOLES BINARIOS
Árbol genealógico
Pedro
mamá papá
abuelo
abuelo abuelaabuela
EJEMPLOS
ÁRBOLES BINARIOS
Árboles que representa expresiones matemáticas
(a*b)+{(c÷d) 3}ᶺ
+
* ᶺ
a
d
÷ 3
c
b
TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS DISTINTOS
Estructura y distribución de arcos diferentes
a. b.
27
14 57
7
11
27
14 57
7
11
ÁRBOLES BINARIOS
TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS SIMILARES
Estructura idénticas e información de nodos diferentes
27
14 0
7
1
ÁRBOLES BINARIOS
27
14 57
7
11
b.
a.
TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS EQUIVALENTES
Estructura idénticas e información de nodos iguales
27
14 57
7
11
ÁRBOLES BINARIOS
27
14 57
7
11
b.
a.
TIPOS DE ÁRBOLES BINARIOS
ÁRBOLES BINARIOS
Árboles binarios distintos: ………………..
Árboles binarios similares: ………………..
Árboles binarios equivalentes: …………..
Ejemplos:
Á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
Á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
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
• Enlazar los hijos de cada nodo en forma vertical
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
• Enlazar los nodos hermanos en forma horizontal
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOS
• Girar aproximadamente 45 grados
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
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
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOSEjemplo
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOSEjemplo:
REPRESENTACIÓN DE ÁRBOLES GENERALES
COMO BINARIOS
ÁRBOLES BINARIOSEjemplo:
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
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
RECORRIDOS EN ÁRBOLES
BINARIOS
Ejemplos:
Recorrido en preorden:
Recorrido en inorden:
Recorrido en postorden:
RECORRIDOS EN ÁRBOLES
BINARIOS
Á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
INSERCIÓN
OPERACIONS CON ÁRBOLES
BINARIOS
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.
INSERCIÓN
OPERACIONS CON ÁRBOLES
BINARIOS
Insertar los siguientes datos:
15, 5,17,3,16,8,21,6,25,11,13
Ejemplo:
Insertar los elementos 120-87-43-65-140-99-130-22-56
INSERCIÓN
OPERACIONS CON ÁRBOLES
BINARIOS
Ejemplo: INSERCIÓN
OPERACIONS CON ÁRBOLES
BINARIOS
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.
BÚSQUEDA
OPERACIONS CON ÁRBOLES
BINARIOS
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.
ELIMINACIÓN
OPERACIONS CON ÁRBOLES
BINARIOS
Bibliografía
Osvaldo, C. (2002). Estructuras de Datos.
México: McGRAW-HILL.

Más contenido relacionado

La actualidad más candente

Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
sumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexoressumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexoresreinardoCoa
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalLuisICM
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Alincita Simon
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datosMaria Barrios
 

La actualidad más candente (20)

Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 
Indices tipo arbol b+
Indices tipo arbol b+Indices tipo arbol b+
Indices tipo arbol b+
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
sumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexoressumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexores
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimal
 
Arboles v2
Arboles v2Arboles v2
Arboles v2
 
C11.1. árboles
C11.1. árbolesC11.1. árboles
C11.1. árboles
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datos
 

Destacado

Destacado (20)

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Proyecto matediscreta
Proyecto matediscretaProyecto matediscreta
Proyecto matediscreta
 
Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Matematica discretas presentación inicial
Matematica discretas  presentación inicialMatematica discretas  presentación inicial
Matematica discretas presentación inicial
 
Teoría de árboles
Teoría de árbolesTeoría de árboles
Teoría de árboles
 
Arboles con raiz
Arboles con raizArboles con raiz
Arboles con raiz
 
Arboles
ArbolesArboles
Arboles
 
Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02
 
Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011
 
Teoría de decisión
Teoría de decisiónTeoría de decisión
Teoría de decisión
 
Matemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul RobertoMatemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul Roberto
 
Arboles teoria 1
Arboles teoria 1Arboles teoria 1
Arboles teoria 1
 
Arboles de expresion
Arboles de expresionArboles de expresion
Arboles de expresion
 
Relaciones binarias aux
Relaciones binarias auxRelaciones binarias aux
Relaciones binarias aux
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Arboles
ArbolesArboles
Arboles
 
Actividad Teoría de Árboles.
Actividad Teoría de Árboles.Actividad Teoría de Árboles.
Actividad Teoría de Árboles.
 
17 Introduccion Arboles
17 Introduccion Arboles17 Introduccion Arboles
17 Introduccion Arboles
 

Similar a Árbol binario (20)

Unidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOSUnidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOS
 
Unidad v arboles
Unidad v arbolesUnidad v arboles
Unidad v arboles
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Arboles
ArbolesArboles
Arboles
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
 
Arboles
Arboles Arboles
Arboles
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Arboles
ArbolesArboles
Arboles
 
Arboles.pptx
Arboles.pptxArboles.pptx
Arboles.pptx
 
Arboles.
Arboles.Arboles.
Arboles.
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Arboles
ArbolesArboles
Arboles
 
tema4.pdf
tema4.pdftema4.pdf
tema4.pdf
 
Arboles de busqueda
Arboles de busquedaArboles de busqueda
Arboles de busqueda
 
Arboles
ArbolesArboles
Arboles
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Arboles
ArbolesArboles
Arboles
 
ARBOLES BINARIOS
ARBOLES BINARIOSARBOLES BINARIOS
ARBOLES BINARIOS
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 

Más de Jose Silva

Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoJose Silva
 
Tipo de memorias
Tipo de memoriasTipo de memorias
Tipo de memoriasJose Silva
 
Representacion+grafica
Representacion+graficaRepresentacion+grafica
Representacion+graficaJose Silva
 
Arreglode discosmaquinasvirtuales
Arreglode discosmaquinasvirtualesArreglode discosmaquinasvirtuales
Arreglode discosmaquinasvirtualesJose Silva
 
Dispositivos de entrada salida
Dispositivos de entrada salidaDispositivos de entrada salida
Dispositivos de entrada salidaJose Silva
 

Más de Jose Silva (6)

Hash
HashHash
Hash
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Tipo de memorias
Tipo de memoriasTipo de memorias
Tipo de memorias
 
Representacion+grafica
Representacion+graficaRepresentacion+grafica
Representacion+grafica
 
Arreglode discosmaquinasvirtuales
Arreglode discosmaquinasvirtualesArreglode discosmaquinasvirtuales
Arreglode discosmaquinasvirtuales
 
Dispositivos de entrada salida
Dispositivos de entrada salidaDispositivos de entrada salida
Dispositivos de entrada salida
 

Árbol binario

  • 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. E G KJI A B D F C H L (A (B (D ( I ), E, F (J, K )), C (G, H ( L )))) Diagramas de Venn Anidación de paréntesis FORMAS DE REPRESENTACION DE UN ÁRBOL
  • 4. 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). APLICACIONES A B C D E F G H I J LK
  • 5. CARACTERÍSTICAS Y PROPIEDADES DE LOS ÁRBOLES a) Todo árbol que no es vacío, tiene un único nodo raíz. b) 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. c) 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. d) Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son HERMANOS. e) Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de TERMINAL u HOJA. f) Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de INTERIOR. g) 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. h) 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. i) 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. 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. A B C D E F G H I J LK
  • 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. • Es la suma de las longitudes de camino de todos los nodos del árbol, y se calcula por medio de la siguiente fórmula. i= nivel del árbol h= altura del árbol Ni = número de nodos en el nivel i ∑= = h i i inLCI 1 * LONGITUD DE CAMINO LONGITUD DE CAMINO INTERNO (LCI)
  • 9. i= nivel del árbol h= altura del árbol ni = número de nodos en el nivel i LCI = 1x1 + 2x2 + 5x3 + 4x4 LCI= 36 A B C D E F G H I J LK Ejemplo LONGITUD DE CAMINO INTERNO (LCI) LONGITUD DE CAMINO
  • 10. • 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 LCIM = 36/12 LCIM= 3 LONGITUD DE CAMINO MEDIA DE LONGITUD DE CAMINO INTERNO A B C D E F G H I J LK
  • 11. • 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. LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO
  • 12. Árbol general LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO Árbol extendido A B C D E F G H I J LK El número de nodos especiales de este árbol es 25.
  • 13. • Es la sumatoria de las longitudes de camino de todos los nodos especiales del árbol y se calcula con la siguiente formula ∑ + = = 1 2 * h i i ineLCE DONDE: h= ALTURA i = NIVEL Ne= NODO ESPECIAL LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO
  • 14. •h= altura •i = nivel del árbol •Ne= numero de nodos especiales en el nivel i LCE= 1x2 + 1x3+11x4+12x5 LCE =109 LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO
  • 15. • 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 MEDIA DE LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO
  • 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
  • 17. EJEMPLOS ÁRBOLES BINARIOS • Árboles de búsquedas 27 14 57 7 77 32 59 11 50
  • 19. EJEMPLOS ÁRBOLES BINARIOS Árboles que representa expresiones matemáticas (a*b)+{(c÷d) 3}ᶺ + * ᶺ a d ÷ 3 c b
  • 20. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS DISTINTOS Estructura y distribución de arcos diferentes a. b. 27 14 57 7 11 27 14 57 7 11 ÁRBOLES BINARIOS
  • 21. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS SIMILARES Estructura idénticas e información de nodos diferentes 27 14 0 7 1 ÁRBOLES BINARIOS 27 14 57 7 11 b. a.
  • 22. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS EQUIVALENTES Estructura idénticas e información de nodos iguales 27 14 57 7 11 ÁRBOLES BINARIOS 27 14 57 7 11 b. a.
  • 23. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS Árboles binarios distintos: ……………….. Árboles binarios similares: ……………….. Árboles binarios equivalentes: ………….. Ejemplos:
  • 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
  • 28. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOS
  • 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
  • 32. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOSEjemplo
  • 33. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOSEjemplo:
  • 34. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOSEjemplo:
  • 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. 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 RECORRIDOS EN ÁRBOLES BINARIOS
  • 37. Ejemplos: Recorrido en preorden: Recorrido en inorden: Recorrido en postorden: RECORRIDOS EN ÁRBOLES BINARIOS
  • 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. INSERCIÓN OPERACIONS CON ÁRBOLES BINARIOS 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.
  • 40. INSERCIÓN OPERACIONS CON ÁRBOLES BINARIOS Insertar los siguientes datos: 15, 5,17,3,16,8,21,6,25,11,13
  • 41. Ejemplo: Insertar los elementos 120-87-43-65-140-99-130-22-56 INSERCIÓN OPERACIONS CON ÁRBOLES BINARIOS
  • 43. 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. BÚSQUEDA OPERACIONS CON ÁRBOLES BINARIOS
  • 44. 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. ELIMINACIÓN OPERACIONS CON ÁRBOLES BINARIOS
  • 45. Bibliografía Osvaldo, C. (2002). Estructuras de Datos. México: McGRAW-HILL.