SlideShare a Scribd company logo
1 of 28
TEMA: ARBOLES DE BUSQUEDA EQUILIBRADOS.
ESTUDIANTE: JEFFERSON ARIAS.
• Eficiencia de la búsqueda en un árbol ordenado.
• Árbol binario equilibrado, Arboles AVL.
• Inserción en árboles de búsqueda equilibrados:
rotaciones.
• Borrado de un nodo en un árbol equilibrado.
• Implementación de la operación inserción con balanceo,
busqueda y rotaciones en java.
• Conclusiones.
• El árbol AVL toma su nombre de las iniciales de los apellidos de sus
inventores, Georgii Adelson-Velskii y Yevgeniy Landis. Lo dieron a
conocer en la publicación de un artículo en 1962.
• Los árboles AVL están siempre equilibrados de tal modo que para
todos los nodos, la altura de la rama izquierda no difiere en más de
una unidad de la altura de la rama derecha o viceversa.
• La eficiencia de una búsqueda en un árbol binario
ordenado varía entre O(n) y O(log(n)), dependiendo de la
estructura que presente el árbol.
Árbol Degenerado Árbol Equilibrado de Búsqueda
• En los árboles de búsqueda, el número promedio de comparaciones
que deben realizarse para las operaciones de inserción, eliminación
y búsqueda varía entre Log₂(n), para el mejor de los casos y n para
el peor de los casos.
• Para optimizar los tiempos de búsqueda en los árboles ordenados
surgen los árboles casi equilibrados, en los que la complejidad de
la búsqueda es logarítmica, O(Log n)).
• Un árbol totalmente equilibrado se caracteriza porque la altura de la
rama izquierda es igual que la altura de la rama derecha para cada uno
de los nodos del árbol.
• La estructura de datos de árbol equilibrado que se utiliza es la del árbol
AVL. Son árboles ordenados o de búsqueda que, además, cumplen la
condición de balanceo para cada uno de los nodos.
Árbol Equilibrado Árbol no Equilibrado
• Un árbol equilibrado o árbol AVL es un árbol binario de búsqueda en
el que las alturas de los subárboles izquierdo y derecho de cualquier
nodo difieren como máximo en 1.
• La altura o profundidad de un árbol binario es el nivel máximo de sus
hojas más uno. La altura de un árbol nulo se considera cero.
• 0 cuando son iguales.
• 1 cuando altura derecho > izquierdo.
• -1 cuando altura izquierdo > derecho.
• No resulta fácil determinar la altura promedio de un árbol AVL, por
ello se determina la altura en el peor de los casos, es decir, la
altura máxima que puede tener un árbol equilibrado con un número
de nodos n. La altura es un parámetro importante ya que coincide
con el número de iteraciones que se realizan para bajar desde el
nodo raíz al nivel mas profundo de las hojas.
• El árbol equilibrado de n nodos menos denso tiene como altura
(1.44*log (n)), donde n es el número de nodos en el peor de los
casos del árbol AVL de altura h y se puede afirmar que la
complejidad de una búsqueda es O(Log n).
• Los árboles equilibrados, árboles AVL, son árboles de búsqueda y, por
consiguiente, para añadir un elemento se ha de seguir el mismo
algoritmo que en dichos árboles de búsqueda. Se compara la nueva
clave con la clave del raíz, continúa por la rama izquierda o derecha
según sea menor o mayor y termina insertándose como nodo hoja.
• Inserción de la clave 17.
Antes de la Inserción Después de la Inserción
• Una inserción de una nueva clave, o un borrado, puede destruir el
criterio de equilibrio de varios nodos del árbol. Se debe recuperar la
condición de equilibrio del árbol antes de dar por finalizada la
operación para que el árbol siga siendo equilibrado.
Árbol AVL
Árbol Desequilibrado
• Para corregir el factor de equilibrio de un nodo, se realiza sobre él
una rotación simple o doble. Rotaciones: secuencia de rotaciones de
punteros que se intercambian cíclicamente (por medio de ciclos).
• Un hecho muy importante de estas rotaciones, es que se mantiene
el ordenamiento del árbol, si el árbol original era ABB, el resultado
también lo seguirá siendo.
• El factor de equilibrio es la diferencia entre las alturas del árbol
derecho y el izquierdo:
• FE = altura subárbol derecho - altura subárbol izquierdo
• Por definición, para un árbol AVL, este valor debe ser -1, 0 ó 1, si
sobrepasa este valor es necesario requilibrar.
• Si el nodo está desequilibrado a la izquierda (FE < –1), y su hijo
izquierdo tiene el mismo signo (–) hacer rotación simple a la
derecha.
• Si el nodo está desequilibrado a la derecha (FE > +1), y su hijo
derecho tiene el mismo signo (+) hacer rotación simple a la
izquierda.
• Si el nodo está desequilibrado a la izquierda (FE < –1), y su hijo
izquierdo tiene distinto signo (+) hacer rotación doble izquierda-
derecha.
• Si el nodo está desequilibrado a la derecha (FE > +1), y su hijo
derecho tiene distinto signo (–) hacer rotación doble derecha-
izquierda.
• Al eliminar un nodo en un árbol AVL puede afectar el equilibrio
de sus nodos. Entonces hay que hacer rotaciones simples o
dobles.
• Para eliminar un nodo primero localizamos el nodo que
queremos eliminar y realizamos lo siguiente:
A) Si el nodo es un nodo hoja, simplemente lo
eliminamos.
B) Si el nodo solo tiene un hijo, lo sustituimos con su hijo.
C) Si el nodo tiene dos hijos, lo sustituimos por el hijo
derecho y colocamos el hijo izquierdo en el subárbol
izquierdo del hijo derecho.
• El factor equilibrio en estos arboles es una de las
características mas importantes debido a que ayuda a
mantener a el árbol organizado de una mejor manera.
• Los arboles de búsqueda equilibrado pueden ser muy
útiles y eficientes al momento de realizar una búsqueda
con respecto a los arboles binarios ya que al estar el
árbol ordenado el algoritmo de búsqueda sabe que
camino tomar y consultar si el nodo buscado existe o no.
Hidalgo, S. (12 de Septiembre de 2012). Prezi. Obtenido
de: https://prezi.com/npobbmtpep5t/arboles-avl/
Joyanes Aguilar, L., Zahonero Martinez, l., 2008.
Estructuras de datos en Java. McGraw-Hill, Madrid,
España.
Solar, M. (2010). Estructuras de Datos. Obtenido de:
http://www.ramos.utfsm.cl/doc/860/sc/ED_Cap5AVL.pdf

More Related Content

What's hot

Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
favi_hola
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
Cristopher Morales Ruiz
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
neltherdaza
 

What's hot (20)

Arbol aa
Arbol aaArbol aa
Arbol aa
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
COLAS
COLASCOLAS
COLAS
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Heap sort
Heap sortHeap sort
Heap sort
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Colas
ColasColas
Colas
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
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
 
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)
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
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
 

Viewers also liked

Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...
Angel Vázquez Patiño
 

Viewers also liked (20)

Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
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 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 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
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
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
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
Arboles Arboles
Arboles
 
Arboles de Busqueda Balanceada (AVL)
Arboles de Busqueda Balanceada (AVL)Arboles de Busqueda Balanceada (AVL)
Arboles de Busqueda Balanceada (AVL)
 
Algoritmos de ordenamiento externos
Algoritmos de ordenamiento externosAlgoritmos de ordenamiento externos
Algoritmos de ordenamiento externos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...
 

Similar to Programación 3: árboles de búsqueda equilibrados

Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
lourdesnbv
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
daniel9026
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
lenithoz
 

Similar to Programación 3: árboles de búsqueda equilibrados (20)

Arboles de busqueda
Arboles de busquedaArboles de busqueda
Arboles de busqueda
 
áRbol avl
áRbol avláRbol avl
áRbol avl
 
Equilibrado
EquilibradoEquilibrado
Equilibrado
 
Equilibrado
EquilibradoEquilibrado
Equilibrado
 
Arboles
Arboles Arboles
Arboles
 
Arboles AVL
Arboles AVLArboles AVL
Arboles AVL
 
Arboles AVL
Arboles AVLArboles AVL
Arboles AVL
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Splay tree
Splay treeSplay tree
Splay tree
 
Gabrielauft
GabrielauftGabrielauft
Gabrielauft
 
ARBOLES BINARIOS
ARBOLES BINARIOSARBOLES BINARIOS
ARBOLES BINARIOS
 
Gabrielauft
GabrielauftGabrielauft
Gabrielauft
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
Estructuras no lineales
Estructuras no linealesEstructuras no lineales
Estructuras no lineales
 
Iv unidad estructuras no lineales
Iv unidad estructuras no linealesIv unidad estructuras no lineales
Iv unidad estructuras no lineales
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol Binario
 
áRbol 2 3
áRbol 2 3áRbol 2 3
áRbol 2 3
 

More from Angel 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
 

More from 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...
 

Recently uploaded

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 

Recently uploaded (20)

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 

Programación 3: árboles de búsqueda equilibrados

  • 1. TEMA: ARBOLES DE BUSQUEDA EQUILIBRADOS. ESTUDIANTE: JEFFERSON ARIAS.
  • 2. • Eficiencia de la búsqueda en un árbol ordenado. • Árbol binario equilibrado, Arboles AVL. • Inserción en árboles de búsqueda equilibrados: rotaciones. • Borrado de un nodo en un árbol equilibrado. • Implementación de la operación inserción con balanceo, busqueda y rotaciones en java. • Conclusiones.
  • 3. • El árbol AVL toma su nombre de las iniciales de los apellidos de sus inventores, Georgii Adelson-Velskii y Yevgeniy Landis. Lo dieron a conocer en la publicación de un artículo en 1962. • Los árboles AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa.
  • 4. • La eficiencia de una búsqueda en un árbol binario ordenado varía entre O(n) y O(log(n)), dependiendo de la estructura que presente el árbol. Árbol Degenerado Árbol Equilibrado de Búsqueda
  • 5. • En los árboles de búsqueda, el número promedio de comparaciones que deben realizarse para las operaciones de inserción, eliminación y búsqueda varía entre Log₂(n), para el mejor de los casos y n para el peor de los casos. • Para optimizar los tiempos de búsqueda en los árboles ordenados surgen los árboles casi equilibrados, en los que la complejidad de la búsqueda es logarítmica, O(Log n)).
  • 6. • Un árbol totalmente equilibrado se caracteriza porque la altura de la rama izquierda es igual que la altura de la rama derecha para cada uno de los nodos del árbol. • La estructura de datos de árbol equilibrado que se utiliza es la del árbol AVL. Son árboles ordenados o de búsqueda que, además, cumplen la condición de balanceo para cada uno de los nodos. Árbol Equilibrado Árbol no Equilibrado
  • 7. • Un árbol equilibrado o árbol AVL es un árbol binario de búsqueda en el que las alturas de los subárboles izquierdo y derecho de cualquier nodo difieren como máximo en 1. • La altura o profundidad de un árbol binario es el nivel máximo de sus hojas más uno. La altura de un árbol nulo se considera cero. • 0 cuando son iguales. • 1 cuando altura derecho > izquierdo. • -1 cuando altura izquierdo > derecho.
  • 8. • No resulta fácil determinar la altura promedio de un árbol AVL, por ello se determina la altura en el peor de los casos, es decir, la altura máxima que puede tener un árbol equilibrado con un número de nodos n. La altura es un parámetro importante ya que coincide con el número de iteraciones que se realizan para bajar desde el nodo raíz al nivel mas profundo de las hojas. • El árbol equilibrado de n nodos menos denso tiene como altura (1.44*log (n)), donde n es el número de nodos en el peor de los casos del árbol AVL de altura h y se puede afirmar que la complejidad de una búsqueda es O(Log n).
  • 9. • Los árboles equilibrados, árboles AVL, son árboles de búsqueda y, por consiguiente, para añadir un elemento se ha de seguir el mismo algoritmo que en dichos árboles de búsqueda. Se compara la nueva clave con la clave del raíz, continúa por la rama izquierda o derecha según sea menor o mayor y termina insertándose como nodo hoja. • Inserción de la clave 17. Antes de la Inserción Después de la Inserción
  • 10. • Una inserción de una nueva clave, o un borrado, puede destruir el criterio de equilibrio de varios nodos del árbol. Se debe recuperar la condición de equilibrio del árbol antes de dar por finalizada la operación para que el árbol siga siendo equilibrado. Árbol AVL Árbol Desequilibrado
  • 11. • Para corregir el factor de equilibrio de un nodo, se realiza sobre él una rotación simple o doble. Rotaciones: secuencia de rotaciones de punteros que se intercambian cíclicamente (por medio de ciclos). • Un hecho muy importante de estas rotaciones, es que se mantiene el ordenamiento del árbol, si el árbol original era ABB, el resultado también lo seguirá siendo. • El factor de equilibrio es la diferencia entre las alturas del árbol derecho y el izquierdo: • FE = altura subárbol derecho - altura subárbol izquierdo • Por definición, para un árbol AVL, este valor debe ser -1, 0 ó 1, si sobrepasa este valor es necesario requilibrar.
  • 12. • Si el nodo está desequilibrado a la izquierda (FE < –1), y su hijo izquierdo tiene el mismo signo (–) hacer rotación simple a la derecha.
  • 13. • Si el nodo está desequilibrado a la derecha (FE > +1), y su hijo derecho tiene el mismo signo (+) hacer rotación simple a la izquierda.
  • 14. • Si el nodo está desequilibrado a la izquierda (FE < –1), y su hijo izquierdo tiene distinto signo (+) hacer rotación doble izquierda- derecha.
  • 15. • Si el nodo está desequilibrado a la derecha (FE > +1), y su hijo derecho tiene distinto signo (–) hacer rotación doble derecha- izquierda.
  • 16. • Al eliminar un nodo en un árbol AVL puede afectar el equilibrio de sus nodos. Entonces hay que hacer rotaciones simples o dobles. • Para eliminar un nodo primero localizamos el nodo que queremos eliminar y realizamos lo siguiente: A) Si el nodo es un nodo hoja, simplemente lo eliminamos. B) Si el nodo solo tiene un hijo, lo sustituimos con su hijo. C) Si el nodo tiene dos hijos, lo sustituimos por el hijo derecho y colocamos el hijo izquierdo en el subárbol izquierdo del hijo derecho.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. • El factor equilibrio en estos arboles es una de las características mas importantes debido a que ayuda a mantener a el árbol organizado de una mejor manera. • Los arboles de búsqueda equilibrado pueden ser muy útiles y eficientes al momento de realizar una búsqueda con respecto a los arboles binarios ya que al estar el árbol ordenado el algoritmo de búsqueda sabe que camino tomar y consultar si el nodo buscado existe o no.
  • 28. Hidalgo, S. (12 de Septiembre de 2012). Prezi. Obtenido de: https://prezi.com/npobbmtpep5t/arboles-avl/ Joyanes Aguilar, L., Zahonero Martinez, l., 2008. Estructuras de datos en Java. McGraw-Hill, Madrid, España. Solar, M. (2010). Estructuras de Datos. Obtenido de: http://www.ramos.utfsm.cl/doc/860/sc/ED_Cap5AVL.pdf