Ordenamiento Interno y Búsqueda Binaria

Slides:



Advertisements
Presentaciones similares
ÍNDICES.
Advertisements

Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
ESTRUCTURA DE DATOS Unidad 05 ALGORITMOS DE BUSQUEDA.
Ejemplo 2: Reparto de 3 objetos indivisibles.
Organización Secuencial
DEFINICIONES. TIPOS. SEMANA 12
Normalizaciones de Bases de Datos
IBD Clase 7.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Unidad 8 Métodos de Búsqueda
Organización y arquitectura de sistemas de memoria
Sistemas Gestores de Ficheros
Procesamiento de cadenas
Detección de problemas en las netbook. 1-paso Comprueba el POST. POST son las siglas de Power On Self Test.(prueba automática de encendido). Este es generalmente.
Paricial IV Ing. Esmeralda Elizabeth Rodríguez Rodríguez
Método para resolver colisiones
ÁRBOLES BINARIOS DE BUSQUEDA
PROGRAMACION DE Pilas o Stacks y Colas
PROGRAMACION DE ESTRUCTURAS DE DATOS
IBD Plan 2003 Clase 4. UNLP - Facultad de InformáticaIBD - CLASE 4 2 Archivos - Búsqueda Búsqueda de información (costo) # de comparaciones (operaciones.
Algoritmos Aleatorizados
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Windows XP sp3.
Teoría de lenguajes y compiladores
Planificación de la Información.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Algorítmo de Mapeo Directo
Servidores de nombres de dominio (DNS)
Integrantes: Esteban Jiménez Guesseppe Lozada Mario Rodriguez Gustavo Tenorio Fabio.
Ana Lilia Laureano Cruces UAM-A
Material de apoyo Unidad 8 Estructura de datos
TRADUCTOR DE UN PROGRAMA
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Administración del espacio
UNIDAD II. Manejo de archivos
Mantenimiento lógico del pc
Estructuras de Datos MC Beatriz Beltrán Martínez.
7.  El TDA Diccionario.
Estructuras de Datos Arreglos.
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
Métodos de búsqueda Unidad 6.
Elaborado por: Guillermo Baquerizo I Término
Sistemas decimal, binario, octal y hexadecimal
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
Hard disk.
Sistema de archivos Sistemas operativos.
Disco Duro. (Hard Drive)
(Organización y Manejo de Archivos)
Administración de Memoria
Almacenamiento y Recuperacion de Información- Arbol AVL
ANDREA GIRALDO CARDONA #12
Capítulo 7 Gestión de memoria.
Katerin Henao Isaza 10i2. Que es un disco duro  es un dispositivo de almacenamiento de datos no volátil que emplea un sistema de grabación magnética.
Análisis y Diseño de Algoritmos
Lenguajes de programación. Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador.
MEDIOS DE ALMACENAMIENTO
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Teoría de Sistemas Operativos Administración de Archivos.
Metodología de la programación
Ordenamiento en lenguaje c
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Almacenamiento de la información IES Virgen del Espino.
Luis Villalta Márquez. Servidores de nombres de dominio (DNS)
METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León
Árboles Binarios de Búsqueda (ABB)
MIA - Grupo 5 Unidad 2.

Matemáticas Discretas MISTI
Arquitectura de Computadoras (Taller) Semestre II de 2008.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Transcripción de la presentación:

Ordenamiento Interno y Búsqueda Binaria Almacenamiento y Recuperación de Información

Cuál es el costo de accesar memoria secundaria, ya sabemos que es alto. Ahora vamos a enfocarnos en la solución a cómo buscar en un archivo una pieza de información. Debemos hacer hincapié en que aún un buen algoritmo de búsqueda implica muchas comparaciones, si además tenemos que hacer accesos (memoria secundaria) esto se convierte en una agonía. Se trata de minimizar accesos a disco y consecuentemente el tiempo utilizado.

Este concepto se centra en las formas de ordenar y encontrar información de forma rápida. Si contamos con records de longitud fija podemos utilizar el NRR (número relativo de record). Pero que pasa cuando la longitud no es fija, entonces la pregunta se traduce en: cuál es el record de Juanita López.

¿Y si el record no se encuentra en el archivo? Podemos accesar por llaves, sin embargo esto implica un acceso secuencial. ¿Y si el record no se encuentra en el archivo? supongamos que los registros están ordenados; en una búsqueda binaria comenzamos comparando a López Juanita con el registro de la mitad del archivo, ¿Que tal que el archivo tiene 500 registros?

Diferentes tipos de búsquedas Búsqueda secuencial: O(n) Ordenamiento secuencial: O (n2) Ordenamiento más eficiente: O (n logn) Búsqueda binaria: O (logn) Todas son muy LENTAS al trabajar con archivos en disco. Cuando sea posible estas operaciones deben desarrollarse en memoria principal.

En cualquier caso deben considerarse las limitaciones de los métodos más eficientes: La búsqueda binaria requiere más de dos accesos a disco duro. Mantener un archivo ordenado es muy caro. El ordenamiento en memoria principal, sólo sirve para archivos pequeños.

Cualquier método que mejore lo anterior debe al menos cumplir una de las siguientes condiciones: No debe ser necesario reorganizar los registros en un archivo, cada vez que se agregue un nuevo registro. (índices y dispersión) Debe estar asociado con una estructura que nos permita una mejora substancial en la velocidad de reorganización de un archivo. (árboles B y B+)

Ordenamiento por Claves En este método, no hace falta contar con todo el registro para ordenarlo, sólo sus claves o llaves, junto con los NRR de cada registro. Ordenarlas en memoria y luego re-escribir los registros en el nuevo orden. Al principio parece que este método funciona. Podemos ordenar archivos muchos más grandes y en el mismo espacio de memoria.

Las desventajas que notamos son: El archivo lo tenemos que leer dos veces. La segunda lectura no es secuencial, sino en un orden arbitrario. Lo anterior señala que el método no funciona como esperábamos. La solución es fácil No re-escribimos el archivo Generamos un segundo archivo (índice)

Este segundo archivo: Contiene la estructura generada en memoria, es decir cada registro del archivo índice contiene dos campos: La clave El RNN del registro original Lo anterior se logra con: Una lectura secuencial del archivo original Una escritura secuencial del archivo índice Esto si que es más rápido que la solución original

Vista Conceptual del arreglo de nodos-llave; después de ordenar las llaves en memoria Registros Arreglo de las llaves Catalina Márquez | Calle 10 Martha Mora | Av. 20 Juanita López | Bulevard Aeropuerto Roberto Beulo | zona rosa Roberto Beulo k Juanita López 3 Catalina Márquez 1 .. Martha Mora 2 Almacenamiento secundario En RAM

Un efecto secundario de este método es que los registros no se mueven de su lugar. Imagine lo que sucedería si en alguna parte de nuestro registro hubiera un indicador NRR de otro registro. Al mover los registros esta información se volvería completamente inútil Cuando un archivo contiene este tipo de referencias se dice que están fijos (pinned) y si esta referencia deja de tener sentido, se dice que esta volando (dangling poniter)

fin