SlideShare una empresa de Scribd logo
1 de 18
Estructuras de Datos y
Algoritmos
Franco Guamán Bastidas
Universidad Técnica Particular de Loja
Departamento de Ciencias de la Computación y Electrónica
Sección Departamental de Inteligencia Artificial
ÁRBOL BINARIO DE BÚSQUEDA
Contenidos
 Árboles Binarios de Búsqueda
 Definición
 Operaciones
 Componente Nodo
 Inserción de un nuevo elemento
 Eliminar un elemento
 Recorridos
Estructuras de Datos y Algoritmos - Franco Guamán 2
Definición
• Los elementos almacenados en el subárbol izquierdo de cualquier
nodo x, son menores que el elemento almacenado en el nodo x.
• Los elementos almacenados en el subárbol derecho de x son
mayores que el elemento almacenado en el nodo x.
Estructuras de Datos y Algoritmos - Franco Guamán 3
Definición
• Cada nodo del árbol esta compuesto por dos partes: una
parte informativa (pueden ser datos compuestos), la cual
deberá necesariamente contar con una clave por la cual
se realiza la ordenación, y los campos de enlace
(punteros o apuntadores) hacia los subárboles izquierdo
y derecho.
Estructuras de Datos y Algoritmos - Franco Guamán 4
15
Izq Der
Operaciones
• Inserción: Supone el ingreso de un nuevo elemento en el árbol,
de acuerdo a las reglas establecidas por el algoritmo.
• Eliminación: Implica la desvinculación de nodos del árbol. De
acuerdo al lenguaje de programación también implicará su borrado
de memoria. Mientras en C++ debemos utilizar la sentencia
delete(nodo), en Java no es necesario, ya que el procedimiento
Garbage Collector, propio del lenguaje, se encarga de eliminar
aquellos elementos desvinculados.
• Recorridos: Permite visitar una sola vez a cada nodo componente
del árbol. Aunque se puede realizar recorridos en anchura y en
profundidad, trataremos los tres principales recorridos en
profundidad: Preorden, Inorden y Posorden.
Estructuras de Datos y Algoritmos - Franco Guamán 5
Componente Nodo
El elemento básico para la creación de un ABB, es el nodo, el
cual constará de dos tipos de información: Parte informativa y
parte de enlace:
Estructuras de Datos y Algoritmos - Franco Guamán 6
Información
Enlaces
Inserción de un nuevo elemento
El algoritmo para la inserción de un nuevo elemento en un árbol
de búsqueda binaria se basa en las siguientes interrogantes:
1. Si el nodo en el cual estoy ubicado, está apuntando a null,
crear un nuevo elemento y enlazarlo a él.
2. Si no, preguntar si el nuevo elemento a insertar es mayor o
menor al elemento almacenado en el nodo en el cual estoy
ubicado.
• De acuerdo a la respuesta anterior, enviar a analizar el puntero
izquierdo si es menor o el puntero derecho en el caso contrario.
• Reiniciar el algoritmo recursivo.
Estructuras de Datos y Algoritmos - Franco Guamán 7
Inserción de un nuevo elemento
En el caso de utilizar C++, este proceso se realiza como se
muestra en el código a continuación.
Estructuras de Datos y Algoritmos - Franco Guamán 8
Se realiza un llamado a la función
de insertar, enviándole el puntero
raíz y el número a insertar
Ya que C++ acepta el envío de
punteros por referencia,
realiza la actualización de
punteros dentro de la misma
función, afectando así al árbol
declarado en el programa
principal.
Inserción de un nuevo elemento
Java solamente acepta el paso de punteros como parámetros por
valor, por lo cual, aunque utilicemos la misma lógica usada con
C++, debemos modificar el programa para que la actualización
de punteros se realice en el lugar desde donde se llamó al
método.
Estructuras de Datos y Algoritmos - Franco Guamán 9
Desde la clase main(), el puntero que indica la raíz del árbol,
apuntará hacia el nodo que será devuelto luego de ejecutarse
el método para agregar un nuevo elemento.
Inserción de un nuevo elemento
Estructuras de Datos y Algoritmos - Franco Guamán 10
como un método que devuelve un valor de tipo Nodo hacia el
proceso que lo invocó, logrando así asignar los valores indicados
a las variables de tipo puntero adecuadas.
El método recursivo para
inserción de elementos,
sigue la misma lógica
antes utilizada en el
programa en C++, pero
ahora funcionará
Eliminar un elemento
Estructuras de Datos y Algoritmos - Franco Guamán 11
La eliminación de elementos de un árbol binario implica tener que
considerar tres posibles casos, según el nodo:
1. Que no tenga un hijo izquierdo o ninguno, en cuyo caso
solamente deberíamos re direccionar su enlace antecesor
hacia su hijo derecho.
2. Que no tenga hijo derecho, haciendo que su nodo antecesor
se re direccione hacia su hijo izquierdo.
3. Que tenga dos nodos hijos, en cuyo caso se deberá encontrar
un nodo adecuado para reemplazar al nodo a eliminar y así
conservar la característica de ABB. Para esto se sigue la
lógica de encontrar al “Mayor de sus hijos menores” o al
“Menor de sus hijos mayores”.
Eliminar un elemento
Estructuras de Datos y Algoritmos - Franco Guamán 12
Previa a la eliminación de un nodo, debemos localizar el nodo a
eliminar, lo cual implica la realización de un sencillo proceso de
búsqueda.
Eliminar un elemento
Estructuras de Datos y Algoritmos - Franco Guamán 13
Si no se cumple ninguna de las opciones antes descritas,
entonces hemos localizado el elemento a eliminar, y verificamos a
cual de los tres casos descritos pertenece.
Eliminar un elemento
Estructuras de Datos y Algoritmos - Franco Guamán 14
En el caso de tener que eliminar un nodo con dos hijos,
realizamos el reemplazo de información de este nodo, con la del
nodo localizado según la lógica antes descrita.
EL proceso inicia con la
colocación de punteros
auxiliares, tanto en el nodo
a reemplazar como en su
hijo izquierdo (en el caso de
querer localizar al mayor de
los menores), y un proceso
repetitivo
que ubica los punteros lo más a la derecha posible.
Eliminar un elemento
Estructuras de Datos y Algoritmos - Franco Guamán 15
Para finalizar, se re
direccionará los
enlaces, desvinculando
así al nodo encontrado.
El próximo paso será asignar el valor (o la información) del
nodo encontrado al campo del nodo a reemplazar.
Recorridos
Estructuras de Datos y Algoritmos - Franco Guamán 16
Se denominan recorridos a la forma en que son visitados todos los
nodos de un árbol. Existen tres tipos de recorrido, según el orden en el
cual se ejecutan sus sentencias recursivas:
• Preorden. Visitar raíz, recorrer sub árbol izquierdo y recorrer sub
árbol derecho.
• Inorden. Recorrer sub árbol izquierdo, visitar raíz y recorrer sub
árbol derecho.
• Posorden. Recorrer sub árbol izquierdo, recorrer sub árbol derecho
y visitar raíz.
Recorridos
Estructuras de Datos y Algoritmos - Franco Guamán 17
El resultado de los recorridos antes descritos para el siguiente árbol
binario de búsqueda sería:
PreOrden: 15 – 9 – 6 – 14 – 13 – 20 – 17 – 64 – 26 – 72
InOrden : 6 – 9 – 13 – 14 – 15 – 17 – 20 – 26 – 64 – 72
PosOrden: 6 – 13 – 14 – 9 – 17 – 26 – 72 – 64 – 20 – 15
Estructuras de Datos y Algoritmos - Franco Guamán 18
Preguntas

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaa
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
METODOS DE BUSQUEDA
METODOS DE BUSQUEDAMETODOS DE BUSQUEDA
METODOS DE BUSQUEDA
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativa
 
Manual de uso de la función BUSCARH
Manual de uso de la función BUSCARHManual de uso de la función BUSCARH
Manual de uso de la función BUSCARH
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuenciales
 
Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
metodos de busqueda
metodos de busquedametodos de busqueda
metodos de busqueda
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Quicksort
QuicksortQuicksort
Quicksort
 
Quicksort
QuicksortQuicksort
Quicksort
 
Programacion inf121 i8 ii 2013 ocho arreglos
Programacion inf121 i8 ii 2013 ocho arreglosProgramacion inf121 i8 ii 2013 ocho arreglos
Programacion inf121 i8 ii 2013 ocho arreglos
 

Similar a Abb diferencias entre c++ y java

Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Eli Diaz
 
Presentacion Lista, Cola y Pila
Presentacion Lista, Cola y PilaPresentacion Lista, Cola y Pila
Presentacion Lista, Cola y Pilathemvp16
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datosRené Sosa Arana
 
Clase5-ListasEnlazadasFinal.pdf
Clase5-ListasEnlazadasFinal.pdfClase5-ListasEnlazadasFinal.pdf
Clase5-ListasEnlazadasFinal.pdfPikachuAyala
 
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Victoria López
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5lenithoz
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
algoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxalgoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxIvan Esmit Mayhua
 
Clase redes neuronales 3
Clase redes neuronales 3Clase redes neuronales 3
Clase redes neuronales 3JUANCHO_ANAYA
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesFernando Solis
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamientolichic
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)José Antonio Sandoval Acosta
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.pptljmalaveq
 

Similar a Abb diferencias entre c++ y java (20)

Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
 
Arboles
ArbolesArboles
Arboles
 
Presentacion Lista, Cola y Pila
Presentacion Lista, Cola y PilaPresentacion Lista, Cola y Pila
Presentacion Lista, Cola y Pila
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Clase5-ListasEnlazadasFinal.pdf
Clase5-ListasEnlazadasFinal.pdfClase5-ListasEnlazadasFinal.pdf
Clase5-ListasEnlazadasFinal.pdf
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
algoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxalgoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptx
 
Estructura de datos 2 corte
Estructura de datos 2 corteEstructura de datos 2 corte
Estructura de datos 2 corte
 
Clase redes neuronales 3
Clase redes neuronales 3Clase redes neuronales 3
Clase redes neuronales 3
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con Árboles
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.ppt
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 

Más de Franco Guamán

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafosFranco Guamán
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda javaFranco Guamán
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 dFranco Guamán
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las edFranco Guamán
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivasFranco Guamán
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivasFranco Guamán
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contFranco Guamán
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un ProgramaFranco Guamán
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFranco Guamán
 

Más de Franco Guamán (11)

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafos
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
 
Uni6 a series
Uni6 a seriesUni6 a series
Uni6 a series
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivas
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivas
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-cont
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 

Último

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 

Último (20)

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 

Abb diferencias entre c++ y java

  • 1. Estructuras de Datos y Algoritmos Franco Guamán Bastidas Universidad Técnica Particular de Loja Departamento de Ciencias de la Computación y Electrónica Sección Departamental de Inteligencia Artificial ÁRBOL BINARIO DE BÚSQUEDA
  • 2. Contenidos  Árboles Binarios de Búsqueda  Definición  Operaciones  Componente Nodo  Inserción de un nuevo elemento  Eliminar un elemento  Recorridos Estructuras de Datos y Algoritmos - Franco Guamán 2
  • 3. Definición • Los elementos almacenados en el subárbol izquierdo de cualquier nodo x, son menores que el elemento almacenado en el nodo x. • Los elementos almacenados en el subárbol derecho de x son mayores que el elemento almacenado en el nodo x. Estructuras de Datos y Algoritmos - Franco Guamán 3
  • 4. Definición • Cada nodo del árbol esta compuesto por dos partes: una parte informativa (pueden ser datos compuestos), la cual deberá necesariamente contar con una clave por la cual se realiza la ordenación, y los campos de enlace (punteros o apuntadores) hacia los subárboles izquierdo y derecho. Estructuras de Datos y Algoritmos - Franco Guamán 4 15 Izq Der
  • 5. Operaciones • Inserción: Supone el ingreso de un nuevo elemento en el árbol, de acuerdo a las reglas establecidas por el algoritmo. • Eliminación: Implica la desvinculación de nodos del árbol. De acuerdo al lenguaje de programación también implicará su borrado de memoria. Mientras en C++ debemos utilizar la sentencia delete(nodo), en Java no es necesario, ya que el procedimiento Garbage Collector, propio del lenguaje, se encarga de eliminar aquellos elementos desvinculados. • Recorridos: Permite visitar una sola vez a cada nodo componente del árbol. Aunque se puede realizar recorridos en anchura y en profundidad, trataremos los tres principales recorridos en profundidad: Preorden, Inorden y Posorden. Estructuras de Datos y Algoritmos - Franco Guamán 5
  • 6. Componente Nodo El elemento básico para la creación de un ABB, es el nodo, el cual constará de dos tipos de información: Parte informativa y parte de enlace: Estructuras de Datos y Algoritmos - Franco Guamán 6 Información Enlaces
  • 7. Inserción de un nuevo elemento El algoritmo para la inserción de un nuevo elemento en un árbol de búsqueda binaria se basa en las siguientes interrogantes: 1. Si el nodo en el cual estoy ubicado, está apuntando a null, crear un nuevo elemento y enlazarlo a él. 2. Si no, preguntar si el nuevo elemento a insertar es mayor o menor al elemento almacenado en el nodo en el cual estoy ubicado. • De acuerdo a la respuesta anterior, enviar a analizar el puntero izquierdo si es menor o el puntero derecho en el caso contrario. • Reiniciar el algoritmo recursivo. Estructuras de Datos y Algoritmos - Franco Guamán 7
  • 8. Inserción de un nuevo elemento En el caso de utilizar C++, este proceso se realiza como se muestra en el código a continuación. Estructuras de Datos y Algoritmos - Franco Guamán 8 Se realiza un llamado a la función de insertar, enviándole el puntero raíz y el número a insertar Ya que C++ acepta el envío de punteros por referencia, realiza la actualización de punteros dentro de la misma función, afectando así al árbol declarado en el programa principal.
  • 9. Inserción de un nuevo elemento Java solamente acepta el paso de punteros como parámetros por valor, por lo cual, aunque utilicemos la misma lógica usada con C++, debemos modificar el programa para que la actualización de punteros se realice en el lugar desde donde se llamó al método. Estructuras de Datos y Algoritmos - Franco Guamán 9 Desde la clase main(), el puntero que indica la raíz del árbol, apuntará hacia el nodo que será devuelto luego de ejecutarse el método para agregar un nuevo elemento.
  • 10. Inserción de un nuevo elemento Estructuras de Datos y Algoritmos - Franco Guamán 10 como un método que devuelve un valor de tipo Nodo hacia el proceso que lo invocó, logrando así asignar los valores indicados a las variables de tipo puntero adecuadas. El método recursivo para inserción de elementos, sigue la misma lógica antes utilizada en el programa en C++, pero ahora funcionará
  • 11. Eliminar un elemento Estructuras de Datos y Algoritmos - Franco Guamán 11 La eliminación de elementos de un árbol binario implica tener que considerar tres posibles casos, según el nodo: 1. Que no tenga un hijo izquierdo o ninguno, en cuyo caso solamente deberíamos re direccionar su enlace antecesor hacia su hijo derecho. 2. Que no tenga hijo derecho, haciendo que su nodo antecesor se re direccione hacia su hijo izquierdo. 3. Que tenga dos nodos hijos, en cuyo caso se deberá encontrar un nodo adecuado para reemplazar al nodo a eliminar y así conservar la característica de ABB. Para esto se sigue la lógica de encontrar al “Mayor de sus hijos menores” o al “Menor de sus hijos mayores”.
  • 12. Eliminar un elemento Estructuras de Datos y Algoritmos - Franco Guamán 12 Previa a la eliminación de un nodo, debemos localizar el nodo a eliminar, lo cual implica la realización de un sencillo proceso de búsqueda.
  • 13. Eliminar un elemento Estructuras de Datos y Algoritmos - Franco Guamán 13 Si no se cumple ninguna de las opciones antes descritas, entonces hemos localizado el elemento a eliminar, y verificamos a cual de los tres casos descritos pertenece.
  • 14. Eliminar un elemento Estructuras de Datos y Algoritmos - Franco Guamán 14 En el caso de tener que eliminar un nodo con dos hijos, realizamos el reemplazo de información de este nodo, con la del nodo localizado según la lógica antes descrita. EL proceso inicia con la colocación de punteros auxiliares, tanto en el nodo a reemplazar como en su hijo izquierdo (en el caso de querer localizar al mayor de los menores), y un proceso repetitivo que ubica los punteros lo más a la derecha posible.
  • 15. Eliminar un elemento Estructuras de Datos y Algoritmos - Franco Guamán 15 Para finalizar, se re direccionará los enlaces, desvinculando así al nodo encontrado. El próximo paso será asignar el valor (o la información) del nodo encontrado al campo del nodo a reemplazar.
  • 16. Recorridos Estructuras de Datos y Algoritmos - Franco Guamán 16 Se denominan recorridos a la forma en que son visitados todos los nodos de un árbol. Existen tres tipos de recorrido, según el orden en el cual se ejecutan sus sentencias recursivas: • Preorden. Visitar raíz, recorrer sub árbol izquierdo y recorrer sub árbol derecho. • Inorden. Recorrer sub árbol izquierdo, visitar raíz y recorrer sub árbol derecho. • Posorden. Recorrer sub árbol izquierdo, recorrer sub árbol derecho y visitar raíz.
  • 17. Recorridos Estructuras de Datos y Algoritmos - Franco Guamán 17 El resultado de los recorridos antes descritos para el siguiente árbol binario de búsqueda sería: PreOrden: 15 – 9 – 6 – 14 – 13 – 20 – 17 – 64 – 26 – 72 InOrden : 6 – 9 – 13 – 14 – 15 – 17 – 20 – 26 – 64 – 72 PosOrden: 6 – 13 – 14 – 9 – 17 – 26 – 72 – 64 – 20 – 15
  • 18. Estructuras de Datos y Algoritmos - Franco Guamán 18 Preguntas