SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA
“ANTONIO JOSÉ DE SUCRE”
EXTENSIÓN MARACAY
Arboles
PROCESAMIENTO DE DATOS
PROF. NAUDY DEL VALLE ALBORNOZ
ALUMNO:
NOEL GALINDEZ
C.I. Nº V- 28.142.273
INFORMÁTICA
MARACAY, FEBRERO 2024
DEFINICIÓN INSTRUCTIVA Y FORMAL DE LA ESTRUCTURA DE
ÁRBOL
Un árbol es una estructura de datos jerárquica y no lineal compuesta por nodos
conectados mediante aristas. Está compuesto por un nodo raíz que no tiene ningún nodo
padre, y cada nodo puede tener cero o más nodos hijos. Los nodos que no tienen hijos
se llaman nodos hoja. Cada nodo en un árbol tiene un único nodo padre, excepto el
nodo raíz que no tiene ninguno. Un árbol se utiliza para representar relaciones
jerárquicas entre elementos.
En ciencias de la computación y en informática, un árbol es un tipo abstracto de
datos (TAD) ampliamente usado que imita la estructura jerárquica de un árbol, con un
valor en la raíz y subárboles con un nodo padre, representado como un conjunto de
nodos enlazados.
Una estructura de datos de árbol se puede definir de forma recursiva (localmente)
como una colección de nodos (a partir de un nodo raíz), donde cada nodo es una
estructura de datos con un valor, junto con una lista de referencias a los nodos (los
hijos), con la condición de que ninguna referencia esté duplicada ni que ningún nodo
apunte a la raíz.
Alternativamente, un árbol se puede definir de manera abstracta en su conjunto
como un árbol ordenado, con un valor asignado a cada nodo. Ambas perspectivas son
útiles: mientras que un árbol puede ser analizado matemáticamente, realmente es
representado como una estructura de datos en la que se trabaja con cada nodo por
separado (en lugar de como una lista de nodos y una lista de adyacencia entre nodos,
como un grafo). Mirando a un árbol como conjunto, se puede hablar del nodo padre de
un nodo dado, pero en general se habla de una estructura de datos de un nodo dado que
sólo contiene la lista de sus hijos sin referencia a su padre (si lo hay).
CONCEPTO DE ÁRBOL BINARIO. EJEMPLOS
Un árbol binario es un tipo especial de árbol en el que cada nodo puede tener
como máximo dos nodos hijos, comúnmente conocidos como hijo izquierdo e hijo
derecho. Los nodos en un árbol binario se organizan de tal manera que para cada nodo,
el hijo izquierdo es menor (o igual) que el nodo actual, y el hijo derecho es mayor (o
igual) que el nodo actual. Esto se conoce como la propiedad de ordenación de un árbol
binario.
Esta estructura se caracteriza por que cada nodo solo puede tener máximo 2 hijos,
dicho de otra manera, es un árbol grado dos.
Por ejemplo: los árboles binarios a) y b) de la figura 1(adoptamos el convenio de
que los hijos a la izquierda son extraídos extendiéndonos hacia la izquierda y los hijos
a la derecha a la derecha) son diferentes, puesto que difieren en el nodo 5. El árbol c
por convenio se supone igual al b) y no al a).
RECORRIDO DEL ÁRBOL BINARIO: OPERACIONES CON ÁRBOL
BINARIO
Un recorrido en un árbol binario es Una operación que consiste en visitar todos
sus vértices o nodos, de tal manera que cada vértice se visite una sola vez. Se distinguen
tres tipos de recorrido: INORDEN, POSORDEN Y PREORDEN. En cada recorrido se
tiene en cuenta la posición de la raíz (de ahí su nombre) y que siempre se debe ejecutar
primero el hijo izquierdo y luego el derecho.
Recorrido en Preorden
Recorrer un árbol en preorden consiste en primer lugar, examinar el dato del
nodo raíz, posteriormente se recorrer el subárbol izquierdo en preorden y finalmente
se recorre el subárbol derecho en preorden. Esto significa que para cada subárbol se
debe conservar el recorrido en preorden, primero la raíz, luego la parte izquierda y
posteriormente la parte derecha.
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la
imagen 3:
El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es la raíz
que es el nodo 10, luego se visita el subárbol izquierdo con el nodo 5, posteriormente
el 3, luego el nodo 1, sigue con el nodo 4, pasamos al nodo 7 y luego el 9.
Continuamos con el recorrido del subárbol derecho en preorden, con la visita del
nodo 15, luego el 14, se continúa con el 17, se visita el 16 y se finaliza con la visita
del nodo 20.
El resultado completo del recorrido en preorden para el árbol de la imagen es: 10
– 5 – 3 – 1 – 4 – 7 – 9 – 15 – 14 – 17 -16 – 20, Tal como se muestra en la imagen 3.
Recorrido en Inorden
Recorrer un árbol en Inorden consiste en primer lugar en recorrer el subárbol
izquierdo en Inorden, luego se examina el dato del nodo raíz, y finalmente se recorre
el subárbol derecho en Inorden. Esto significa que para cada subárbol se debe
conservar el recorrido en Inorden, es decir, primero se visita la parte izquierda, luego
la raíz y posteriormente la parte derecha.
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la
imagen 4:
El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es el 3
luego se visita el 5 y posteriormente el 7, con esto se garantiza que el recorrido del
subárbol izquierdo se hizo en Inorden.
Finalizado el recorrido del subárbol izquierdo se visita el nodo de la raíz, que
para este caso es el número 10.
Solo queda recorrer el subárbol derecho en Inorden, es decir se visita el 11 luego
el 12 y se finaliza con la visita del nodo 15
El resultado completo del recorrido en Inorden para el árbol de la imagen es:3 –
5 – 7 – 10 – 11 – 12 – 15, Tal como se muestra en la imagen.
Recorrido en Postorden
Recorrer un árbol en Postorden consiste en primer lugar en recorrer el subárbol
izquierdo en Postorden, luego se recorre el subárbol derecho en Postorden y finalmente
se visita el nodo raíz. Esto significa que para cada subárbol se debe conservar el
recorrido en Postorden, es decir, primero se visita la parte izquierda, luego la parte
derecha y por último la raíz.
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la
imagen 5.
El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es el 3
luego se visita el 7 y posteriormente el 5 que es la raíz, con esto se garantiza que el
recorrido del subárbol izquierdo se hizo en Postorden.
Finalizado el recorrido del subárbol izquierdo se inicia la visita al subárbol
derecho en Postorden, es decir, se visita el 11 luego el 15 y se finaliza con la visita del
nodo 12 que sería la raíz de este subárbol.
Solo queda recorrer la raíz del árbol que para este caso es el número 10.
El resultado completo del recorrido en Postorden para el árbol de la imagen es:
3 – 7 – 5 – 11 – 15 – 12 – 10 Tal como se muestra en la imagen.
Las operaciones más comunes que se realizan en un árbol binario incluyen:
✓ Inserción: Agregar un nuevo nodo al árbol.
✓ Búsqueda: Encontrar un nodo específico en el árbol.
✓ Eliminación: Eliminar un nodo específico del árbol.
✓ Recorridos: Traversar el árbol para visitar todos los nodos en un orden
específico (por ejemplo, inorder, preorder, postorder).
✓ Altura del árbol: Calcular la altura del árbol (la longitud del camino más largo
desde el nodo raíz hasta una hoja).
✓ Balanceo del árbol: Asegurar que el árbol esté equilibrado para garantizar un
tiempo de búsqueda eficiente.
✓ Rotaciones: Realizar rotaciones simples o dobles para mantener el equilibrio
del árbol (principalmente aplicable a árboles de búsqueda balanceados como
AVL o árboles rojo-negro).
BÚSQUEDA DE UN ELEMENTO DENTRO DE UNA ESTRUCTURA DE
ÁRBOL
La búsqueda de un elemento en un árbol binario implica comparar el elemento
con el nodo actual. Si el elemento es igual al nodo actual, se ha encontrado el elemento.
Si el elemento es menor que el nodo actual, se busca en el subárbol izquierdo. Si el
elemento es mayor que el nodo actual, se busca en el subárbol derecho. Este proceso
se repite recursivamente hasta encontrar el elemento o hasta llegar a un nodo nulo.
La búsqueda de un elemento dentro de una estructura de árbol, como un árbol
binario, es un proceso fundamental. Aquí tienes una función en Python para buscar un
elemento específico dentro de un árbol binario:
En este ejemplo, la función buscar recibe la raíz del árbol y el valor que se está
buscando. Si la raíz es None o el valor coincide con el valor en la raíz, el elemento se
ha encontrado y se devuelve la raíz. De lo contrario, se realiza una búsqueda recursiva
en el subárbol izquierdo si el valor es menor que el valor en la raíz, o en el subárbol
derecho si es mayor. Si el elemento no se encuentra en el árbol, la función devuelve
None.
ORDENAMIENTO
Un árbol binario de búsqueda se puede utilizar para ordenar elementos.
Insertando todos los elementos en el árbol binario y luego realizando un recorrido
inorder del árbol, los elementos se pueden recuperar en orden ascendente. El
ordenamiento de un árbol binario implica realizar un recorrido inorder del árbol.
Durante este recorrido, los nodos del árbol se visitan en un orden tal que los valores se
imprimen en orden ascendente.
En este código, primero se define la clase Nodo para representar los nodos del
árbol. Luego, se define la función insertar para insertar un nuevo valor en el árbol
binario. Después, se define la función recorrido_inorder para realizar el recorrido
inorder del árbol, imprimiendo los valores en orden ascendente. Finalmente, se crea un
árbol binario con una lista de números y se realiza el recorrido inorder para imprimir
los números ordenados.
Aquí tienes una implementación en Python para ordenar un árbol binario
utilizando un recorrido inorder:
REALIZAR UN PROGRAMA PARA UTILIZAR ÁRBOLES. ( USAR
CUALQUIER LENGUAJE DE PROGRAMACIÓN)
A continuación, se presenta un ejemplo de un programa simple en Python que
utiliza un árbol binario para almacenar números enteros y luego realiza un recorrido
inorder para imprimir los elementos ordenados:

Más contenido relacionado

Similar a Declarar Arboles. Operaciones. Ejemplospdf

Similar a Declarar Arboles. Operaciones. Ejemplospdf (20)

áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
estructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENAestructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENA
 
ARBOLES BINARIOS
ARBOLES BINARIOSARBOLES BINARIOS
ARBOLES BINARIOS
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Arboles
ArbolesArboles
Arboles
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no Lineales
 
áRbol binario
áRbol binarioáRbol binario
áRbol binario
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Los arboles presentacion
Los arboles presentacion Los arboles presentacion
Los arboles presentacion
 
áRbol 2 3
áRbol 2 3áRbol 2 3
áRbol 2 3
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Arboles
ArbolesArboles
Arboles
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Trees dts
Trees dtsTrees dts
Trees dts
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 

Último

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (19)

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Declarar Arboles. Operaciones. Ejemplospdf

  • 1. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA “ANTONIO JOSÉ DE SUCRE” EXTENSIÓN MARACAY Arboles PROCESAMIENTO DE DATOS PROF. NAUDY DEL VALLE ALBORNOZ ALUMNO: NOEL GALINDEZ C.I. Nº V- 28.142.273 INFORMÁTICA MARACAY, FEBRERO 2024
  • 2. DEFINICIÓN INSTRUCTIVA Y FORMAL DE LA ESTRUCTURA DE ÁRBOL Un árbol es una estructura de datos jerárquica y no lineal compuesta por nodos conectados mediante aristas. Está compuesto por un nodo raíz que no tiene ningún nodo padre, y cada nodo puede tener cero o más nodos hijos. Los nodos que no tienen hijos se llaman nodos hoja. Cada nodo en un árbol tiene un único nodo padre, excepto el nodo raíz que no tiene ninguno. Un árbol se utiliza para representar relaciones jerárquicas entre elementos. En ciencias de la computación y en informática, un árbol es un tipo abstracto de datos (TAD) ampliamente usado que imita la estructura jerárquica de un árbol, con un valor en la raíz y subárboles con un nodo padre, representado como un conjunto de nodos enlazados. Una estructura de datos de árbol se puede definir de forma recursiva (localmente) como una colección de nodos (a partir de un nodo raíz), donde cada nodo es una estructura de datos con un valor, junto con una lista de referencias a los nodos (los hijos), con la condición de que ninguna referencia esté duplicada ni que ningún nodo apunte a la raíz. Alternativamente, un árbol se puede definir de manera abstracta en su conjunto como un árbol ordenado, con un valor asignado a cada nodo. Ambas perspectivas son útiles: mientras que un árbol puede ser analizado matemáticamente, realmente es representado como una estructura de datos en la que se trabaja con cada nodo por separado (en lugar de como una lista de nodos y una lista de adyacencia entre nodos, como un grafo). Mirando a un árbol como conjunto, se puede hablar del nodo padre de un nodo dado, pero en general se habla de una estructura de datos de un nodo dado que sólo contiene la lista de sus hijos sin referencia a su padre (si lo hay).
  • 3. CONCEPTO DE ÁRBOL BINARIO. EJEMPLOS Un árbol binario es un tipo especial de árbol en el que cada nodo puede tener como máximo dos nodos hijos, comúnmente conocidos como hijo izquierdo e hijo derecho. Los nodos en un árbol binario se organizan de tal manera que para cada nodo, el hijo izquierdo es menor (o igual) que el nodo actual, y el hijo derecho es mayor (o igual) que el nodo actual. Esto se conoce como la propiedad de ordenación de un árbol binario. Esta estructura se caracteriza por que cada nodo solo puede tener máximo 2 hijos, dicho de otra manera, es un árbol grado dos. Por ejemplo: los árboles binarios a) y b) de la figura 1(adoptamos el convenio de que los hijos a la izquierda son extraídos extendiéndonos hacia la izquierda y los hijos a la derecha a la derecha) son diferentes, puesto que difieren en el nodo 5. El árbol c por convenio se supone igual al b) y no al a).
  • 4. RECORRIDO DEL ÁRBOL BINARIO: OPERACIONES CON ÁRBOL BINARIO Un recorrido en un árbol binario es Una operación que consiste en visitar todos sus vértices o nodos, de tal manera que cada vértice se visite una sola vez. Se distinguen tres tipos de recorrido: INORDEN, POSORDEN Y PREORDEN. En cada recorrido se tiene en cuenta la posición de la raíz (de ahí su nombre) y que siempre se debe ejecutar primero el hijo izquierdo y luego el derecho. Recorrido en Preorden Recorrer un árbol en preorden consiste en primer lugar, examinar el dato del nodo raíz, posteriormente se recorrer el subárbol izquierdo en preorden y finalmente se recorre el subárbol derecho en preorden. Esto significa que para cada subárbol se debe conservar el recorrido en preorden, primero la raíz, luego la parte izquierda y posteriormente la parte derecha. Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la imagen 3:
  • 5. El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es la raíz que es el nodo 10, luego se visita el subárbol izquierdo con el nodo 5, posteriormente el 3, luego el nodo 1, sigue con el nodo 4, pasamos al nodo 7 y luego el 9. Continuamos con el recorrido del subárbol derecho en preorden, con la visita del nodo 15, luego el 14, se continúa con el 17, se visita el 16 y se finaliza con la visita del nodo 20. El resultado completo del recorrido en preorden para el árbol de la imagen es: 10 – 5 – 3 – 1 – 4 – 7 – 9 – 15 – 14 – 17 -16 – 20, Tal como se muestra en la imagen 3. Recorrido en Inorden Recorrer un árbol en Inorden consiste en primer lugar en recorrer el subárbol izquierdo en Inorden, luego se examina el dato del nodo raíz, y finalmente se recorre el subárbol derecho en Inorden. Esto significa que para cada subárbol se debe conservar el recorrido en Inorden, es decir, primero se visita la parte izquierda, luego la raíz y posteriormente la parte derecha. Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la imagen 4: El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es el 3 luego se visita el 5 y posteriormente el 7, con esto se garantiza que el recorrido del subárbol izquierdo se hizo en Inorden. Finalizado el recorrido del subárbol izquierdo se visita el nodo de la raíz, que para este caso es el número 10.
  • 6. Solo queda recorrer el subárbol derecho en Inorden, es decir se visita el 11 luego el 12 y se finaliza con la visita del nodo 15 El resultado completo del recorrido en Inorden para el árbol de la imagen es:3 – 5 – 7 – 10 – 11 – 12 – 15, Tal como se muestra en la imagen. Recorrido en Postorden Recorrer un árbol en Postorden consiste en primer lugar en recorrer el subárbol izquierdo en Postorden, luego se recorre el subárbol derecho en Postorden y finalmente se visita el nodo raíz. Esto significa que para cada subárbol se debe conservar el recorrido en Postorden, es decir, primero se visita la parte izquierda, luego la parte derecha y por último la raíz. Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol de la imagen 5. El recorrido inicia con el subárbol izquierdo, el primer nodo a visitar es el 3 luego se visita el 7 y posteriormente el 5 que es la raíz, con esto se garantiza que el recorrido del subárbol izquierdo se hizo en Postorden. Finalizado el recorrido del subárbol izquierdo se inicia la visita al subárbol derecho en Postorden, es decir, se visita el 11 luego el 15 y se finaliza con la visita del nodo 12 que sería la raíz de este subárbol. Solo queda recorrer la raíz del árbol que para este caso es el número 10. El resultado completo del recorrido en Postorden para el árbol de la imagen es: 3 – 7 – 5 – 11 – 15 – 12 – 10 Tal como se muestra en la imagen.
  • 7. Las operaciones más comunes que se realizan en un árbol binario incluyen: ✓ Inserción: Agregar un nuevo nodo al árbol. ✓ Búsqueda: Encontrar un nodo específico en el árbol. ✓ Eliminación: Eliminar un nodo específico del árbol. ✓ Recorridos: Traversar el árbol para visitar todos los nodos en un orden específico (por ejemplo, inorder, preorder, postorder). ✓ Altura del árbol: Calcular la altura del árbol (la longitud del camino más largo desde el nodo raíz hasta una hoja). ✓ Balanceo del árbol: Asegurar que el árbol esté equilibrado para garantizar un tiempo de búsqueda eficiente. ✓ Rotaciones: Realizar rotaciones simples o dobles para mantener el equilibrio del árbol (principalmente aplicable a árboles de búsqueda balanceados como AVL o árboles rojo-negro).
  • 8.
  • 9. BÚSQUEDA DE UN ELEMENTO DENTRO DE UNA ESTRUCTURA DE ÁRBOL La búsqueda de un elemento en un árbol binario implica comparar el elemento con el nodo actual. Si el elemento es igual al nodo actual, se ha encontrado el elemento. Si el elemento es menor que el nodo actual, se busca en el subárbol izquierdo. Si el elemento es mayor que el nodo actual, se busca en el subárbol derecho. Este proceso se repite recursivamente hasta encontrar el elemento o hasta llegar a un nodo nulo.
  • 10. La búsqueda de un elemento dentro de una estructura de árbol, como un árbol binario, es un proceso fundamental. Aquí tienes una función en Python para buscar un elemento específico dentro de un árbol binario:
  • 11. En este ejemplo, la función buscar recibe la raíz del árbol y el valor que se está buscando. Si la raíz es None o el valor coincide con el valor en la raíz, el elemento se ha encontrado y se devuelve la raíz. De lo contrario, se realiza una búsqueda recursiva en el subárbol izquierdo si el valor es menor que el valor en la raíz, o en el subárbol derecho si es mayor. Si el elemento no se encuentra en el árbol, la función devuelve None. ORDENAMIENTO Un árbol binario de búsqueda se puede utilizar para ordenar elementos. Insertando todos los elementos en el árbol binario y luego realizando un recorrido inorder del árbol, los elementos se pueden recuperar en orden ascendente. El ordenamiento de un árbol binario implica realizar un recorrido inorder del árbol. Durante este recorrido, los nodos del árbol se visitan en un orden tal que los valores se imprimen en orden ascendente. En este código, primero se define la clase Nodo para representar los nodos del árbol. Luego, se define la función insertar para insertar un nuevo valor en el árbol binario. Después, se define la función recorrido_inorder para realizar el recorrido inorder del árbol, imprimiendo los valores en orden ascendente. Finalmente, se crea un árbol binario con una lista de números y se realiza el recorrido inorder para imprimir los números ordenados. Aquí tienes una implementación en Python para ordenar un árbol binario utilizando un recorrido inorder:
  • 12.
  • 13. REALIZAR UN PROGRAMA PARA UTILIZAR ÁRBOLES. ( USAR CUALQUIER LENGUAJE DE PROGRAMACIÓN) A continuación, se presenta un ejemplo de un programa simple en Python que utiliza un árbol binario para almacenar números enteros y luego realiza un recorrido inorder para imprimir los elementos ordenados: