Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Slides:



Advertisements
Presentaciones similares
5. Estructuras no lineales estáticas y dinámicas
Advertisements

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
Diseño y análisis de algoritmos
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
PRESENTACIÓN DEL SOFTWARE
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
Operaciones sobre un árbol
Estructura de Datos en memoria secundaria
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
PROGRAMACION DE ESTRUCTURAS DE DATOS
Algoritmos Aleatorizados
Árboles balanceados AVL
Integrantes: Esteban Jiménez Guesseppe Lozada Mario Rodriguez Gustavo Tenorio Fabio.
Cont. Arbol Binario de Búsqueda (2). Sobre los recorridos Las versiones recursivas de los recorridos son costosas debido a la gran cantidad de llamadas.
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Estructura de Datos Lineales
Capítulo III Análisis de varianza.
Estructuras de Datos MC Beatriz Beltrán Martínez.
Árboles, montículos y grafos Cola de prioridades, montículos
Tópicos I Árboles, montículos y grafos
Programación Lineal Unidad 1 Parte 3.
DIVISIÓN DE POLINOMIOS 1
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
ARBOLES ESTRUCTURAS DE DATOS.
7.  El TDA Diccionario.
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
ARBOLES ESTRUCTURAS DE DATOS.
Árboles B M.C. José Andrés Vázquez Flores Estructuras de Datos / Primavera 2014.
Descomposición Factorial Unidad 5
Almacenamiento y Recuperacion de Información- Arbol AVL
ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS
Árboles AVL por Jorge Riera Ledesma Departamento de Estadística, Investigación Operativa Y Computación.
Estructuras de Datos1 ABB´s balanceados por peso Balance perfecto Para cada nodo, el número de nodos del subárbol izquierdo y el número de nodos del subárbol.
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
ESPAD III * TC 2 FRACCIONES.
Con el objeto de mejorar el rendimiento en la búsqueda surgen los árboles balanceados. La idea central de estos es la de realizar reacomodó o balanceos.
1 Arboles AVL Introducción Arboles AVL (Adel’son-Vel’skii and Landis.
Análisis y Diseño de Algoritmos
Modelos Cuantitativos
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Líneas de Espera: Teoría de Colas
DISEÑO DE UNA ESTRUCTURA DE INDEXACION DE DATOS TOPOLOGICAMENTE CONTENIDO.
Arboles B (búsqueda externa)
Presentado por: carolina gallardo Universidad metropolitana de B/quilla.
Árboles Binarios de Búsqueda (ABB)
Arboles Binarios.
COMO CALCULAR LOS LIMITES SUPERIORES E INFERIORES
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
Árboles Binarios * Recorridos * Tipo
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
Árboles Equilibrados Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015.

MODELAMIENTO MATEMÁTICO DE PROCESOS INDUSTRIALES
Matemáticas Discretas MISTI
M.C. Meliza Contreras González
OPTIMIZACION DEL DESEMPEÑO DE ERROR
Introducción Matemática Nivelatoria
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.
Arboles Binarios: AVL (Adelson – Velskii - Landis)
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
ÁRBOLES ESTRUCTURA DE DATOS II ING. CARLOS ALBERTO PULLAS.
Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP Árboles AVL Objetivos:  Entender la importancia que tiene el balanceo en un ABB.  Describir.
Transcripción de la presentación:

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP Arboles AVL Objetivos: Entender la importancia que tiene el balanceo en un ABB. Describir las características de los AVL: balanceo badsado en alturas de subarboles. Definir el factor de balance (FB) de un nodo en un árbol AVL. Rotación simple y rotación doble en un árbol AVL. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

¿Por qué es importante el balanceo en un árbol de búsqueda? La manera en que los elementos estén distribuidos en un árbol de búsqueda determinará su altura y, en consecuencia, la cantidad de comparaciones a realizar al buscar un elemento (eficiencia). Lo ideal sería que el árbol tuviera sus elementos distribuidos en forma equilibrada o balanceada, consiguiendo así la mayor eficiencia que ofrece la búsqueda binaria Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? Análisis general de la eficiencia de búsqueda en un ABB. La cantidad máxima de comparaciones al realizar una búsqueda en un ABB está determinada por la altura del árbol. Si un árbol degenera en una lista, se tiene un árbol cuya altura es igual a la cantidad de nodos en el árbol, y el peor caso corresponderá a realizar tantas comparaciones como nodos tenga el árbol. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

¿Qué pasa si el árbol está balanceado? ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? ¿Qué pasa si el árbol está balanceado? Si la altura de un ABB determina la cantidad máxima de comparaciones en una busqueda, lo ideal sería tener la altura mínima que puede tener un ABB para n elementos. La altura mínima en un ABB con n elementos se dará en la medida en cada nivel del árbol esté integrado a su máxima capacidad Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? En general, se tiene que el número máximo de nodos en el nivel k en un árbil binario es Con base en esto, se puede encontrar la cantidad total de elementos que puede guardar un árbol binario de altura k. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? Por lo tanto se tiene que el número maximo de nodos en un árbol binario de altura k es: Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? Ahora bien, si la altura de un ABB determina el número máximo de comparaciones al buscar un elemento, ¿cuántas comparaciones se harán al buscar un elemento en un ABB ideal que tiene n elementos? De acuerdo con el análisis que hemos hecho, la respuesta se obtiene al encontrar el valor de k, dado el valor de n para la fórmula: Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? Por lo tanto, despejando k, aplicando las leyes de los logaritmos, se obtiene Entonces, la cantidad máxima de comparaciones a realizar en un ABB ideal de n elementos es: En este caso, se puede comprobar que la fórmula coincide con la de la búsqueda binaria en un arreglo, si se complementa con la función techo: Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Cuál es el número máximo de comparaciones que se realizan en el peor caso de búsqueda en un ABB? Lo anterior nos lleva a concluir que, para que el peor caso de una búsqueda en un ABB se cumpla con la mayor eficiencia posible, el ABB debe estar balanceado. Sin embargo, las operaciones de un ABB no aseguran que se cumpla el balanceo, por lo que se necesita una mejora en las operaciones, sin demeritar su eficiencia. Hasta ahora, no se ha encontrado la forma eficiente de mantener un ABB totalmente balanceado. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

¿Qué es un árbol balanceado? Se considera que un árbol binario está balanceado cuando todos sus niveles, excepto el último, están integrados a la máxima capacidad de nodos. Las investigaciones respecto a esta estructura de datos no han logrado encontrar una técnica eficiente para manejar árboles de búsqueda completamente balanceados; las propuestas han llegado solo a presentar árboles parcialmente balanceados, sin repercutir la eficiencia de las operaciones de inserción y eliminación de nodos. La más común y usada de las técnicas es la de los árboles AVL. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Qué es un árbol AVL? Un árbol AVL es un árbol binario de búsqueda que trata de mantenerse lo más balanceado posible, conforme se realizan operaciones de inserción y eliminación. Fueron propuestos en 1962 por los matemáticos rusos Adelson- Velskii y Landis, de donde surge su nombre. Su contribución principal consistió en presentar algoritmos eficientes de inserción y eliminación de elementos considerando un balanceo en el árbol que, a su vez, repercute en la eficiencia de las búsquedas. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP ¿Qué es un árbol AVL? Formalmente, en los árboles AVL se debe cumplir el hecho de que para cualquier nodo del árbol, la diferencia entre las alturas de sus subárboles no exceda una unidad Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP Árboles AVL Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

¿Qué es el factor de balance (FB) de un nodo? Los nodos de un árbol AVL guardan un valor entre 1 y -1, lo que se conoce como Factor de Balance (FB), y representa la diferencia entre las alturas de sus subárboles. Un FB igual a cero en un nodo significa que las alturas de sus subárboles son iguales; un FB positivo significa que el subárbol derecho es más grande que el izquierdo, y un FB negativo que el subárbol izquierdo es más grande que el derecho. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP

Arbol AVL con factores de balance en cada nodo. Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP