SlideShare una empresa de Scribd logo
1 de 33
ÁRBOLES. ÁRBOLES BINARIOS
Y ÁRBOLES ORDENADOS
REALIZADO POR:
BELÉN VÉLEZ
MATERIA:
PROGRAMACIÓN 3
CONTENIDO
1. Árboles generales y terminología.
2. Árboles binarios.
3. Estructura de un árbol binario.
4. Árbol de expresión.
5. Recorrido de un árbol.
6. Árbol binario de búsqueda.
7. Operaciones en árboles binarios de búsqueda.
INTRODUCCIÓN
• Los árboles son estructuras no lineales.
• Se utilizan para representar fórmulas algebraicas y en aplicaciones diversas
tales como inteligencia artificial o algoritmos de cifrado.
ÁRBOLES GENERALES Y TERMINOLOGÍA
• El concepto de árbol implica una
estructura en la que los datos se
organizan de modo que los
elementos de información están
relacionados entre sí a través de
ramas.
Árbol: Formado por un conjunto finito
de elementos, llamados nodos y de
líneas dirigidas, llamadas ramas, que
conectan los nodos.
Subárbol: Subconjunto de nodos del
árbol.
TERMINOLOGÍA
Nodo Padre: Tiene nodos
sucesores, y a su vez estos se
llaman hijos.
Nodos Descendientes: Hijos de un
nodo y los hijos de estos hijos.
Nodos Ascendientes: Padre y los
abuelos de un nodo.
Nodos Hermanos: Dos o más nodos
con el mismo padre.
Raiz: Primer nodo de un árbol.
Hoja: Un nodo sin hijos (nodos
terminales).
Nivel: Distancia desde el nodo raíz.
Arcos o Ramas: Flechas que
conectan un nodo con otro.
Los hermanos están
siempre al mismo nivel,
pero no todos los nodos
de un mismo nivel son
necesariamente
Camino: Es una secuencia de nodos en los que
cada nodo es adyacente al siguiente.
Altura o Profundidad: Longitud del camino más
largo que conecta la raíz a una hoja.
Longitud: Número de arcos que contiene o, de
forma equivalente, el número de nodos del
camino menos uno.
Para determinar si un árbol está equilibrado, se
calcula su factor de equilibrio.
Factor de equilibrio: Diferencia en altura entre
los subárboles derecho e izquierdo.
TERMINOLOGÍA Y EQUILIBRIO
El factor de equilibrio de cada nodo puede
tomar los valores -1, 0, +1.
ÁRBOLES BINARIOS
• Un árbol binario es un árbol cuyos nodos no pueden tener más de dos
subárboles.
• En un árbol binario, cada nodo puede tener cero, uno o dos hijos (subárboles).
• Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha
como hijo derecho.
• Un árbol binario es una estructura recursiva y constituye un tipo abstracto de
datos.
ÁRBOLES BINARIOS
COMPLETOS
Árbol Completo: Es un árbol en el que para cada nivel, del 0 al nivel n-1, tiene
un conjunto lleno de nodos, y todos los nodos hoja a nivel n ocupan las
posiciones más a la izquierda del árbol.
Árbol Lleno: Es un árbol binario completo que tiene el máximo número de
entradas para su altura 2 𝑛
; esto sucede cuando el último nivel está lleno.
Árbol Degenerado: Tiene un solo nodo hoja y cada nodo no hoja sólo tiene un
hijo. Un árbol degenerado es equivalente a una lista enlazada.
OPERACIONES EN ÁRBOLES BINARIOS
Algunas de las operaciones típicas que se realizan en árboles binarios son las
siguientes:
• Determinar su altura.
• Determinar su número de elementos.
• Hacer una copia.
• Visualizar el árbol binario en pantalla o en impresora.
• Determinar si dos árboles binarios son idénticos.
• Borrar (eliminar el árbol).
• Si es un árbol de expresión, evaluar la expresión.
El recorrido es la operación de visita al árbol o, lo que es lo mismo, la visita a
cada nodo del
árbol una vez y sólo una.
ESTRUCTURA DE UN ÁRBOL BINARIO
• Un árbol binario se construye con
nodos.
• Cada nodo debe contener el campo
dato (datos a almacenar) y dos
campos de enlace (apuntador), uno
al subárbol izquierdo (izquierdo,
izdo) y otro al subárbol derecho
(derecho, dcho).
• El valor null indica un árbol o un
subárbol vacío.
REPRESENTACIÓN DE UN NODO
• La clase Nodo agrupa a todos los
campos que consta de: dato, izdo
(rama izquierda) y dcho (rama
derecha).
• Dispone de dos constructores; el
primero inicializa el campo dato a un
valor y los enlaces a null, en
definitiva, se inicializa como hoja y el
segundo inicializa dato a un valor y
las ramas a dos subárboles.
CREACIÓN DE UN ÁRBOL BINARIO
A partir del nodo raíz se puede acceder a los
demás nodos del árbol.
Las ramas izquierda y derecha, a su vez, son
árboles binarios que tienen su raíz, y así
recursivamente hasta llegar a las hojas del
árbol.
La clase ArbolBinario tiene el campo raíz, un
constructor que inicializa raíz y métodos para
implementar las operaciones.
Á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.
El nombre de infija es debido a que los operadores se sitúan entre
los operandos.
REGLAS PARA LA CONSTRUCCIÓN DE ÁRBOLES
DE EXPRESIONES
1. La prioridad se determina sólo por
paréntesis.
2. La expresión completa se sitúa entre
paréntesis.
RECORRIDO DE UN ÁRBOL
El recorrido de un árbol binario requiere que cada nodo del árbol sea procesado
(visitado) una vez, y sólo una, en una secuencia predeterminada. Existen dos
enfoques de recorrido, profundidad y anchura.
Recorrido en profundidad: Todos los descendientes de un hijo se procesan antes
del siguiente hijo.
Recorrido en anchura: En el recorrido en anchura, cada nivel se procesa
totalmente antes de que comience el siguiente nivel.
RECORRIDO PREORDEN
En el recorrido preorden, la raíz se
procesa antes que los subárboles
izquierdo y derecho, su recorrido
(NID) conlleva los siguientes pasos:
1. Visitar el nodo raíz (N).
2. Recorrer el subárbol
izquierdo (I) en preorden.
3. Recorrer el subárbol
derecho (D) en preorden.
El algoritmo de recorrido tiene
naturaleza recursiva.
RECORRIDO EN ORDEN
Llamado también recorrido (inorder),
el significado de in es que la raíz se
procesa entre los subárboles.
El recorrido (IND) implica los
siguientes pasos:
1. Recorrer el subárbol
izquierdo (I) en orden.
2. Visitar el nodo raíz (N).
3. Recorrer el subárbol
derecho (D) en orden.
RECORRIDO POSTORDEN
El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los
subárboles izquierdo y derecho se hayan procesado.
Las etapas del algoritmo, si el árbol no está vacío, son:
1. Recorrer el subárbol izquierdo (I) en postorden.
2. Recorrer el subárbol derecho (D) en postorden.
3. Visitar el nodo raíz (N).
D-E-B-F-G-C-A
ÁRBOL
BINARIO DE
BÚSQUEDA
• Estos árboles se denominan árboles binarios de
búsqueda, debido a que se puede buscar en
ellos un término utilizando un algoritmo de
búsqueda binaria similar al empleado en arrays.
• Un árbol binario de búsqueda es aquel en que,
dado un nodo, todos los datos del subárbol
izquierdo son menores que los datos de ese
nodo, mientras que todos los datos del subárbol
derecho son mayores que sus propios datos.
CREACIÓN DE UN ÁRBOL BINARIO DE
BÚSQUEDA
8, 3, 1, 20, 10, 5, 4
Datos a su
izquierda deben
ser menores al
nodo actual
Datos a la
derecha deben
ser mayores al
nodo actual
2
0
8
3
1 5
1
0
4
NODO DE UN ÁRBOL BINARIO DE BÚSQUEDA
Al ser un árbol ordenado, los datos deben implementar la interfaz Comparador:
Un ejemplo de árbol binario de búsqueda es aquel cuyo nodo contiene
información relativa a un estudiante. Cada nodo almacena el nombre del
estudiante y el número de matrícula en su universidad (dato entero), que puede
ser el utilizado para ordenar.
OPERACIONES EN
ÁRBOLES
BINARIOS DE
BÚSQUEDA
• Búsqueda de un nodo.
Devuelve la referencia al
nodo del árbol o null.
• Inserción de un nodo. Crea
un nodo con su dato
asociado y lo añade, en
orden, al árbol.
• Borrado de un nodo. Busca
el nodo del árbol que
contiene un dato y lo quita.
El árbol debe seguir siendo
de búsqueda.
• Recorrido de un árbol. Los
mismos recorridos de un
árbol binario preorden,
inorden y postorden.
BÚSQUEDA
La búsqueda de un nodo comienza en el
nodo raíz y sigue estos pasos:
1. La clave buscada se compara con la
clave del nodo raíz.
2. Si las claves son iguales, la búsqueda
se detiene.
3. Si la clave buscada es mayor que la
clave raíz, la búsqueda se reanuda en el
subárbol derecho. Si la clave buscada es
menor que la clave raíz, la búsqueda se
reanuda con el subárbol izquierdo.
INSERTAR UN NODO
• Para añadir un nodo al árbol, se sigue el camino de búsqueda y, se enlaza el
nuevo nodo; siempre se inserta como hoja del árbol.
• Si se encuentra el elemento buscado, no es necesario hacer nada, en caso
contrario, se inserta el nuevo elemento donde habría estado en el caso de
existir.
IMPLEMENTACIÓN
El método insertar() es la interfaz de la operación, llama al método recursivo que
realiza la operación y devuelve la raíz del nuevo árbol.
Ejemplo:
Insertar un elemento con clave 80 en el
árbol binario de búsqueda siguiente
A continuación, insertar un elemento con
clave 36 en el árbol binario de búsqueda
resultante.
ELIMINAR UN NODO
La operación eliminación es más compleja que la inserción, debido a que el nodo
a suprimir puede ser cualquiera y la operación debe mantener la estructura de
árbol binario de búsqueda después de quitar el nodo.
Los pasos a seguir son:
1. Buscar en el árbol para encontrar la posición del nodo a eliminar.
2. Si el nodo a suprimir tiene menos de dos hijos, reajustar los enlaces
de su antecesor.
3. Si el nodo tiene dos hijos (rama izquierda y derecha), es necesario
subir a la posición que éste ocupa el dato más próximo de sus subárboles (el
inmediatamente superior o el inmediatamente inferior) con el fin de
mantener la estructura de árbol binario de búsqueda.
Ejemplo 1
Suprimir el elemento de clave 36
del siguiente árbol binario de
búsqueda:
La clave 36 es una hoja, por ello se
reajustan los enlaces del nodo
precedente en el camino de
búsqueda
Borrar el elemento de clave 60 del siguiente árbol
Se reemplaza 60 por el elemento mayor
(55) en su subárbol izquierdo o por el
elemento más pequeño (70) en su
subárbol derecho.
Ejemplo 2
IMPLEMENTACIÓN
El método eliminar() es la interfaz de la
operación
Buscar el nodo; una vez encontrado, se
presentan dos casos :
• El primero, si el nodo a eliminar es una
hoja asignamos al enlace del nodo padre
(según el camino de búsqueda) el
descendiente del nodo a eliminar.
• El segundo caso, que el nodo tenga
las dos ramas no vacía, exige
reemplazar el dato del nodo por la
mayor de las claves menores o por
la menor de las claves mayores.
Como las claves menores están en
la rama izquierda, se baja al primer
nodo de la rama izquierda y se
continúa bajando por las ramas
derecha (claves mayores) hasta
alcanzar el nodo hoja. Éste es el
mayor de los menores, que
reemplaza al del nodo a eliminar. El
método reemplazar() realiza la tarea
descrita.
IMPLEMENTACIÓN
RESUMEN
• La estructura árbol más utilizada normalmente es el árbol binario.
• Un árbol binario es un árbol en el que cada nodo tiene como máximo dos
hijos, llamados subárbol izquierdo y subárbol derecho.
• En un árbol binario, cada elemento tiene cero, uno o dos hijos.
• El nodo raíz no tiene un padre
• Un árbol binario no vacío está equilibrado totalmente si sus subárboles
izquierdo y derecho tienen la misma altura y ambos son vacíos o totalmente
equilibrados.
• Los árboles binarios presentan dos tipos característicos: árboles binarios
de búsqueda(mantiene una colección ordenada de datos) y los árboles
binarios de expresiones(almacenar expresiones).
Problema:
Escribir un programa que diseñe los métodos recursivos que listen los nodos del
siguiente árbol binario en preorden, inorden y postorden.
3
1
2
4 5 6
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados

Más contenido relacionado

La actualidad más candente

Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binarioMariela Cabezas
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Llave primaria y llave foránea
Llave primaria y llave foráneaLlave primaria y llave foránea
Llave primaria y llave foráneaTata Jaramillo
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 

La actualidad más candente (20)

Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
22 ejercicios base de datos
22 ejercicios base de datos 22 ejercicios base de datos
22 ejercicios base de datos
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Llave primaria y llave foránea
Llave primaria y llave foráneaLlave primaria y llave foránea
Llave primaria y llave foránea
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 

Destacado

Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasAngel Vázquez Patiño
 
Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenAngel Vázquez Patiño
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaAngel Vázquez Patiño
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaAngel Vázquez Patiño
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallAngel Vázquez Patiño
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosfavi_hola
 
Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parteSergio Ormeño
 

Destacado (20)

Arboles
Arboles Arboles
Arboles
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadas
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origen
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en java
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Árboles
ÁrbolesÁrboles
Árboles
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parte
 
Clase parabolico
Clase parabolicoClase parabolico
Clase parabolico
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 

Similar a Programación 3: árboles binarios y ordenados

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 LinealesJosé Antonio Sandoval Acosta
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylanMedina4
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfmichaelsilva2k20
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosnukeeHE
 
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)Rubi Veronica Chimal Cuxin
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5pootalex
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdfdciutsucre
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol BinarioFernando Solis
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicasEliezer Cordova
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4lenithoz
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfLENNYGALINDEZ
 
Declaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfDeclaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfYuriratmiroff
 
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 LUCENAGABRIEL64287
 

Similar a Programación 3: árboles binarios y ordenados (20)

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
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdf
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
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
 
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)
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol Binario
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
Arboles
ArbolesArboles
Arboles
 
Declaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfDeclaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdf
 
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 TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 

Más de Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Más de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Último

Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxBuddyroi
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfautomatechcv
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososAdrianVarela22
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfjhorbycoralsanchez
 
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptx
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptxPRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptx
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptxciteagrohuallaga07
 
GeoS4344444444444444444444444444444444.pdf
GeoS4344444444444444444444444444444444.pdfGeoS4344444444444444444444444444444444.pdf
GeoS4344444444444444444444444444444444.pdffredyflores58
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfmcamposa87
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEfrain Yungan
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxOSCARADRIANMEDINADUR
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdffredyflores58
 
Sanidad en alpacas, enfermedades infecciosas y parasitarias
Sanidad en alpacas, enfermedades infecciosas y parasitariasSanidad en alpacas, enfermedades infecciosas y parasitarias
Sanidad en alpacas, enfermedades infecciosas y parasitariasJilvertHuisaCenteno
 
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdf
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdfPPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdf
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdfDarwinJPaulino
 
Transporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECTransporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECamador030809
 
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASMATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASSALVADOR ALTEZ PALOMINO
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdfLUISSANDOVALJIMENEZ
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxStibeCr
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfJhonCongoraQuispe
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfAuraGabriela2
 

Último (20)

Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptx
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrosos
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdf
 
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptx
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptxPRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptx
PRESENTACION Y PROGRAMAS PRE-REQUISITOS DEL SISTEMA HACCP BPM Y PHS 2023.pptx
 
GeoS4344444444444444444444444444444444.pdf
GeoS4344444444444444444444444444444444.pdfGeoS4344444444444444444444444444444444.pdf
GeoS4344444444444444444444444444444444.pdf
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptx
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdf
 
Sanidad en alpacas, enfermedades infecciosas y parasitarias
Sanidad en alpacas, enfermedades infecciosas y parasitariasSanidad en alpacas, enfermedades infecciosas y parasitarias
Sanidad en alpacas, enfermedades infecciosas y parasitarias
 
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdf
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdfPPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdf
PPT - MODIFICACIONES PRESUPUESTARIAS - Anexo II VF.pdf
 
Transporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECTransporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMEC
 
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASMATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf
224154649-Diseno-Por-Flexion-de-Zapata-Aislada-y-de-Hormigon-Simple.pdf
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
 

Programación 3: árboles binarios y ordenados

  • 1. ÁRBOLES. ÁRBOLES BINARIOS Y ÁRBOLES ORDENADOS REALIZADO POR: BELÉN VÉLEZ MATERIA: PROGRAMACIÓN 3
  • 2. CONTENIDO 1. Árboles generales y terminología. 2. Árboles binarios. 3. Estructura de un árbol binario. 4. Árbol de expresión. 5. Recorrido de un árbol. 6. Árbol binario de búsqueda. 7. Operaciones en árboles binarios de búsqueda.
  • 3. INTRODUCCIÓN • Los árboles son estructuras no lineales. • Se utilizan para representar fórmulas algebraicas y en aplicaciones diversas tales como inteligencia artificial o algoritmos de cifrado.
  • 4. ÁRBOLES GENERALES Y TERMINOLOGÍA • El concepto de árbol implica una estructura en la que los datos se organizan de modo que los elementos de información están relacionados entre sí a través de ramas. Árbol: Formado por un conjunto finito de elementos, llamados nodos y de líneas dirigidas, llamadas ramas, que conectan los nodos. Subárbol: Subconjunto de nodos del árbol.
  • 5. TERMINOLOGÍA Nodo Padre: Tiene nodos sucesores, y a su vez estos se llaman hijos. Nodos Descendientes: Hijos de un nodo y los hijos de estos hijos. Nodos Ascendientes: Padre y los abuelos de un nodo. Nodos Hermanos: Dos o más nodos con el mismo padre. Raiz: Primer nodo de un árbol. Hoja: Un nodo sin hijos (nodos terminales). Nivel: Distancia desde el nodo raíz. Arcos o Ramas: Flechas que conectan un nodo con otro. Los hermanos están siempre al mismo nivel, pero no todos los nodos de un mismo nivel son necesariamente
  • 6. Camino: Es una secuencia de nodos en los que cada nodo es adyacente al siguiente. Altura o Profundidad: Longitud del camino más largo que conecta la raíz a una hoja. Longitud: Número de arcos que contiene o, de forma equivalente, el número de nodos del camino menos uno. Para determinar si un árbol está equilibrado, se calcula su factor de equilibrio. Factor de equilibrio: Diferencia en altura entre los subárboles derecho e izquierdo. TERMINOLOGÍA Y EQUILIBRIO El factor de equilibrio de cada nodo puede tomar los valores -1, 0, +1.
  • 7. ÁRBOLES BINARIOS • Un árbol binario es un árbol cuyos nodos no pueden tener más de dos subárboles. • En un árbol binario, cada nodo puede tener cero, uno o dos hijos (subárboles). • Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho. • Un árbol binario es una estructura recursiva y constituye un tipo abstracto de datos.
  • 8. ÁRBOLES BINARIOS COMPLETOS Árbol Completo: Es un árbol en el que para cada nivel, del 0 al nivel n-1, tiene un conjunto lleno de nodos, y todos los nodos hoja a nivel n ocupan las posiciones más a la izquierda del árbol. Árbol Lleno: Es un árbol binario completo que tiene el máximo número de entradas para su altura 2 𝑛 ; esto sucede cuando el último nivel está lleno. Árbol Degenerado: Tiene un solo nodo hoja y cada nodo no hoja sólo tiene un hijo. Un árbol degenerado es equivalente a una lista enlazada.
  • 9. OPERACIONES EN ÁRBOLES BINARIOS Algunas de las operaciones típicas que se realizan en árboles binarios son las siguientes: • Determinar su altura. • Determinar su número de elementos. • Hacer una copia. • Visualizar el árbol binario en pantalla o en impresora. • Determinar si dos árboles binarios son idénticos. • Borrar (eliminar el árbol). • Si es un árbol de expresión, evaluar la expresión. El recorrido es la operación de visita al árbol o, lo que es lo mismo, la visita a cada nodo del árbol una vez y sólo una.
  • 10. ESTRUCTURA DE UN ÁRBOL BINARIO • Un árbol binario se construye con nodos. • Cada nodo debe contener el campo dato (datos a almacenar) y dos campos de enlace (apuntador), uno al subárbol izquierdo (izquierdo, izdo) y otro al subárbol derecho (derecho, dcho). • El valor null indica un árbol o un subárbol vacío.
  • 11. REPRESENTACIÓN DE UN NODO • La clase Nodo agrupa a todos los campos que consta de: dato, izdo (rama izquierda) y dcho (rama derecha). • Dispone de dos constructores; el primero inicializa el campo dato a un valor y los enlaces a null, en definitiva, se inicializa como hoja y el segundo inicializa dato a un valor y las ramas a dos subárboles.
  • 12. CREACIÓN DE UN ÁRBOL BINARIO A partir del nodo raíz se puede acceder a los demás nodos del árbol. Las ramas izquierda y derecha, a su vez, son árboles binarios que tienen su raíz, y así recursivamente hasta llegar a las hojas del árbol. La clase ArbolBinario tiene el campo raíz, un constructor que inicializa raíz y métodos para implementar las operaciones.
  • 13. Á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. El nombre de infija es debido a que los operadores se sitúan entre los operandos.
  • 14. REGLAS PARA LA CONSTRUCCIÓN DE ÁRBOLES DE EXPRESIONES 1. La prioridad se determina sólo por paréntesis. 2. La expresión completa se sitúa entre paréntesis.
  • 15. RECORRIDO DE UN ÁRBOL El recorrido de un árbol binario requiere que cada nodo del árbol sea procesado (visitado) una vez, y sólo una, en una secuencia predeterminada. Existen dos enfoques de recorrido, profundidad y anchura. Recorrido en profundidad: Todos los descendientes de un hijo se procesan antes del siguiente hijo. Recorrido en anchura: En el recorrido en anchura, cada nivel se procesa totalmente antes de que comience el siguiente nivel.
  • 16. RECORRIDO PREORDEN En el recorrido preorden, la raíz se procesa antes que los subárboles izquierdo y derecho, su recorrido (NID) conlleva los siguientes pasos: 1. Visitar el nodo raíz (N). 2. Recorrer el subárbol izquierdo (I) en preorden. 3. Recorrer el subárbol derecho (D) en preorden. El algoritmo de recorrido tiene naturaleza recursiva.
  • 17. RECORRIDO EN ORDEN Llamado también recorrido (inorder), el significado de in es que la raíz se procesa entre los subárboles. El recorrido (IND) implica los siguientes pasos: 1. Recorrer el subárbol izquierdo (I) en orden. 2. Visitar el nodo raíz (N). 3. Recorrer el subárbol derecho (D) en orden.
  • 18. RECORRIDO POSTORDEN El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se hayan procesado. Las etapas del algoritmo, si el árbol no está vacío, son: 1. Recorrer el subárbol izquierdo (I) en postorden. 2. Recorrer el subárbol derecho (D) en postorden. 3. Visitar el nodo raíz (N). D-E-B-F-G-C-A
  • 19. ÁRBOL BINARIO DE BÚSQUEDA • Estos árboles se denominan árboles binarios de búsqueda, debido a que se puede buscar en ellos un término utilizando un algoritmo de búsqueda binaria similar al empleado en arrays. • Un árbol binario de búsqueda es aquel en que, dado un nodo, todos los datos del subárbol izquierdo son menores que los datos de ese nodo, mientras que todos los datos del subárbol derecho son mayores que sus propios datos.
  • 20. CREACIÓN DE UN ÁRBOL BINARIO DE BÚSQUEDA 8, 3, 1, 20, 10, 5, 4 Datos a su izquierda deben ser menores al nodo actual Datos a la derecha deben ser mayores al nodo actual 2 0 8 3 1 5 1 0 4
  • 21. NODO DE UN ÁRBOL BINARIO DE BÚSQUEDA Al ser un árbol ordenado, los datos deben implementar la interfaz Comparador: Un ejemplo de árbol binario de búsqueda es aquel cuyo nodo contiene información relativa a un estudiante. Cada nodo almacena el nombre del estudiante y el número de matrícula en su universidad (dato entero), que puede ser el utilizado para ordenar.
  • 22. OPERACIONES EN ÁRBOLES BINARIOS DE BÚSQUEDA • Búsqueda de un nodo. Devuelve la referencia al nodo del árbol o null. • Inserción de un nodo. Crea un nodo con su dato asociado y lo añade, en orden, al árbol. • Borrado de un nodo. Busca el nodo del árbol que contiene un dato y lo quita. El árbol debe seguir siendo de búsqueda. • Recorrido de un árbol. Los mismos recorridos de un árbol binario preorden, inorden y postorden.
  • 23. BÚSQUEDA La búsqueda de un nodo comienza en el nodo raíz y sigue estos pasos: 1. La clave buscada se compara con la clave del nodo raíz. 2. Si las claves son iguales, la búsqueda se detiene. 3. Si la clave buscada es mayor que la clave raíz, la búsqueda se reanuda en el subárbol derecho. Si la clave buscada es menor que la clave raíz, la búsqueda se reanuda con el subárbol izquierdo.
  • 24. INSERTAR UN NODO • Para añadir un nodo al árbol, se sigue el camino de búsqueda y, se enlaza el nuevo nodo; siempre se inserta como hoja del árbol. • Si se encuentra el elemento buscado, no es necesario hacer nada, en caso contrario, se inserta el nuevo elemento donde habría estado en el caso de existir.
  • 25. IMPLEMENTACIÓN El método insertar() es la interfaz de la operación, llama al método recursivo que realiza la operación y devuelve la raíz del nuevo árbol. Ejemplo: Insertar un elemento con clave 80 en el árbol binario de búsqueda siguiente A continuación, insertar un elemento con clave 36 en el árbol binario de búsqueda resultante.
  • 26. ELIMINAR UN NODO La operación eliminación es más compleja que la inserción, debido a que el nodo a suprimir puede ser cualquiera y la operación debe mantener la estructura de árbol binario de búsqueda después de quitar el nodo. Los pasos a seguir son: 1. Buscar en el árbol para encontrar la posición del nodo a eliminar. 2. Si el nodo a suprimir tiene menos de dos hijos, reajustar los enlaces de su antecesor. 3. Si el nodo tiene dos hijos (rama izquierda y derecha), es necesario subir a la posición que éste ocupa el dato más próximo de sus subárboles (el inmediatamente superior o el inmediatamente inferior) con el fin de mantener la estructura de árbol binario de búsqueda.
  • 27. Ejemplo 1 Suprimir el elemento de clave 36 del siguiente árbol binario de búsqueda: La clave 36 es una hoja, por ello se reajustan los enlaces del nodo precedente en el camino de búsqueda Borrar el elemento de clave 60 del siguiente árbol Se reemplaza 60 por el elemento mayor (55) en su subárbol izquierdo o por el elemento más pequeño (70) en su subárbol derecho. Ejemplo 2
  • 28. IMPLEMENTACIÓN El método eliminar() es la interfaz de la operación Buscar el nodo; una vez encontrado, se presentan dos casos : • El primero, si el nodo a eliminar es una hoja asignamos al enlace del nodo padre (según el camino de búsqueda) el descendiente del nodo a eliminar.
  • 29. • El segundo caso, que el nodo tenga las dos ramas no vacía, exige reemplazar el dato del nodo por la mayor de las claves menores o por la menor de las claves mayores. Como las claves menores están en la rama izquierda, se baja al primer nodo de la rama izquierda y se continúa bajando por las ramas derecha (claves mayores) hasta alcanzar el nodo hoja. Éste es el mayor de los menores, que reemplaza al del nodo a eliminar. El método reemplazar() realiza la tarea descrita. IMPLEMENTACIÓN
  • 30. RESUMEN • La estructura árbol más utilizada normalmente es el árbol binario. • Un árbol binario es un árbol en el que cada nodo tiene como máximo dos hijos, llamados subárbol izquierdo y subárbol derecho. • En un árbol binario, cada elemento tiene cero, uno o dos hijos. • El nodo raíz no tiene un padre • Un árbol binario no vacío está equilibrado totalmente si sus subárboles izquierdo y derecho tienen la misma altura y ambos son vacíos o totalmente equilibrados. • Los árboles binarios presentan dos tipos característicos: árboles binarios de búsqueda(mantiene una colección ordenada de datos) y los árboles binarios de expresiones(almacenar expresiones).
  • 31. Problema: Escribir un programa que diseñe los métodos recursivos que listen los nodos del siguiente árbol binario en preorden, inorden y postorden. 3 1 2 4 5 6