Estructura de Datos en memoria secundaria

Slides:



Advertisements
Presentaciones similares
ÍNDICES.
Advertisements

5. Estructuras no lineales estáticas y dinámicas
ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
Arbol de búsqueda binaria
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
Operaciones sobre un árbol
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
Algoritmos Aleatorizados
Árboles balanceados AVL
Integrantes: Esteban Jiménez Guesseppe Lozada Mario Rodriguez Gustavo Tenorio Fabio.
ÁRBOLES DE EXPRESION.
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.
Tema Nº4.
Ana Lilia Laureano Cruces UAM-A
Estructura de Datos Lineales
Material de apoyo Unidad 4 Estructura de datos
Árboles.
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
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Árboles binarios de búsqueda
ARBOLES ESTRUCTURAS DE DATOS.
Árboles B M.C. José Andrés Vázquez Flores Estructuras de Datos / Primavera 2014.
Definición, propiedades, recorridos x a q yb w e vu fo.
Almacenamiento y Recuperacion de Información- Arbol AVL
ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS
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.
1 7.1 Búsqueda Externa Los algoritmos vistos hasta ahora son adecuados cuando todos los datos están en memoria principal. Gran volúmen de datos: se recurre.
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
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.
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP
Arboles B (búsqueda externa)
1 B-Trees y AVL Trees. 2 AVL Trees: Topicos Balance en los Trees Chequear el Balance Insertar Single y Doble Rotaciones.
Heap Fibonacci heap de Fibonacci es una estructura de datos similar a un heap binomial pero con mejor coste amortizado. se utiliza para mejorar el tiempo.
Algoritmos y estructura de datos en I.O.
ARBOLES GENERALIZADOS
Árboles Binarios de Búsqueda (ABB)
Arboles Binarios.
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.
MIA - Grupo 5 Unidad 2.
Árboles Equilibrados Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015.

Matemáticas Discretas MISTI
Ing. Shirley Coque Carrera Ingeniería de Sistemas
M.C. Meliza Contreras González
M.C. Meliza Contreras González
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.
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS Créditos institucionales.
Árboles Binarios Estructuras de Datos.
Árboles Binarios Estructuras de Datos. Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del.
Transcripción de la presentación:

Estructura de Datos en memoria secundaria Árbol B Estructura de Datos en memoria secundaria

Introducción Para almacenar muchos datos disco, es necesario una estructura de datos eficiente. Los accesos al disco son costosos en tiempo por lo que se debe evitar realizar muchos accesos a los datos. AVL es la mejor estructura para memoria principal, pero es ineficiente si se utiliza para almacenamiento secundario. Esto se debe a la cantidad de accesos necesarios para efectuar las rotaciones. Otro problema es que se requieren tantos accesos como niveles se recorran en el árbol para efectuar la búsqueda.

Árboles B Bayer y McCreight propusieron en 1970 esta estructura. Manejan árboles de búsqueda multicamino, cuyos nodos guardan más de un elemento. Son árboles 100% balanceados en su estructura, lo cual repercute en búsquedas eficientes y en accesos mínimos a disco. 10 20 5 8 25 65 92 99 12 18

Características del Árbol B Un Árbol B de orden n es aquel que: Todas las hojas del árbol están en el nivel inferior. Cada nodo contiene entre n y 2n elementos, excepto el nodo raíz, que puede tener entre 1 y 2n elementos. Si un nodo tiene ‘m’ elementos, el nodo siempre contendrá m + 1 hijos si no es un nodo hoja.

Ejemplo.... Para un Árbol B de orden 3: Cuántos elementos máximo puede guardar cada nodo del árbol? 6 ¿Cuántos elementos mínimo puede guardar cada nodo del árbol? 1 si el la raíz, 3 cualquier otro nodo. ¿Cuántos hijos máximo puede tener un nodo? 7 ¿Cuántos hijos mínimo puede tener un nodo? 0 si es hoja, 2 si es raíz, 4 cualquier otro nodo.

Más características del Árbol B Un árbol B de orden n es aquél en que: Los elementos de un nodo están ordenados linealmente. Los elementos están organizados de tal forma que se cumple la regla de la búsqueda: a la izquierda menores, a la derecha mayores. 10 20 5 8 25 65 92 99 12 18

Ejemplo... ¿De qué orden es este árbol B? 10 20 5 8 25 65 92 99 12 18 Este árbol es de orden 2 ya que puede almacenar hasta 4 elementos en cada nodo.

Proceso de Inserción Buscar el nodo hoja en donde se debería agregar el elemento. Si hay espacio disponible en el nodo, agregar el elemento y terminar. Si el nodo hoja NO tiene capacidad de almacenar el elemento, se deberá crear un nuevo nodo al mismo nivel de la hoja y distribuir a los 2n+1 elementos de la siguiente forma: El nuevo nodo recibe a los ‘n’ elementos más grandes. El nodo existente se queda con los ‘n’ elementos más pequeños. El elemento medio se insertará en el nodo padre siguiendo la misma lógica de inserción. En caso de no haber nodo padre, se creará un nuevo nodo que pasará a ser la nueva raíz.

Ejemplo.... 10 20 5 8 25 65 92 99 12 18 Agregar el 4 10 20 Si hay espacio para el elemento, éste se agrega en el nodo. Los elementos están acomodados de menor a mayor. 4 5 8 25 65 92 99 12 18

Ejemplo... 10 20 5 8 25 65 92 99 12 18 Agregar el 56 Cuando el nuevo elemento no cabe en el nodo, se agrega otro nodo y se reparten los elementos. 10 20 65 4 5 8 92 99 12 18 25 56

Ejemplo... 10 20 65 4 5 8 70 75 80 85 12 18 25 56 Agregar el 78 El árbol siempre se resiste a crecer, ya que trata de distribuir los elementos en los nodos ya existentes. 10 20 70 4 5 8 75 78 80 85 12 18 25 56 65

Ejemplo 10 20 65 90 El árbol crece de abajo hacia arriba. Cuando el árbol aumenta de altura sólo se agrega una nueva raíz. 94 95 4 5 8 70 75 80 85 12 18 Agregar el 66 25 56 57 60 1 2 10 20 65 90 65 4 5 8 75 94 95 10 20 75 90 12 18 80 85 4 5 8 94 95 25 56 57 60 66 70 12 18 80 85 25 56 57 60 66 70

Proceso de Eliminación Buscar el elemento a borrar. Si el elemento a borrar está en una nodo hoja, se borra y termina el proceso. Si el elemento a borrar no se encuentra en una hoja, al igual que en un ABB, se buscará al sustituto más apropiado. El sustituto será: El último elemento de la hoja más derecha del subárbol izquierdo del nodo actual (el mayor de los menores). El primer elemento de la hoja más izquierda del subárbol derecho del nodo actual (el menor de los mayores).

Ejemplo... 10 20 65 4 5 8 70 75 80 85 12 18 25 56 Eliminar el 8 Cuando el nodo tiene más elementos que el mínimo, se da de baja al elemento y termina el proceso. 10 20 65 4 5 70 75 80 85 12 18 25 56

Cuando el nodo tiene el mínimo se toma un elemento de los hermanos. Ejemplo... 10 20 65 4 5 8 12 18 25 56 70 75 80 85 Eliminar el 56 Cuando el nodo tiene el mínimo se toma un elemento de los hermanos. 10 20 70 4 5 8 75 80 85 12 18 25 65

Ejemplo... 10 20 65 4 5 8 12 18 25 56 70 75 Eliminar el 56 Cuando el nodo tiene el mínimo y los hermanos también, se une el nodo con uno de sus hermanos y le libera el nodo sobrante. 10 20 4 5 8 12 18 25 65 70 75

Utilizar el menor de los mayores Ejemplo... 65 10 20 75 90 Eliminar el 65 Utilizar el menor de los mayores 4 5 8 93 95 12 18 80 85 25 56 57 60 66 70 2 1 66 10 20 66 90 10 20 90 4 5 8 4 5 8 93 95 93 95 12 18 12 18 70 75 80 85 70 75 80 85 25 56 57 60 25 56 57 60

Utilizar el menor de los mayores 65 Ejemplo... 10 20 60 75 90 93 95 Eliminar el 65 Utilizar el menor de los mayores 4 5 8 61 62 12 18 80 85 25 56 57 58 66 70 1 2 66 60 10 20 60 90 10 20 66 90 4 5 8 93 95 4 5 8 93 95 12 18 70 75 80 85 12 18 70 75 80 85 25 56 57 58 25 56 57 58 61 62 61 62