La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ordenamiento Interno y Búsqueda Binaria

Presentaciones similares


Presentación del tema: "Ordenamiento Interno y Búsqueda Binaria"— Transcripción de la presentación:

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

2 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.

3 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.

4 ¿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?

5 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.

6 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.

7 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+)

8 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.

9 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)

10 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

11 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 Catalina Márquez .. Martha Mora Almacenamiento secundario En RAM

12 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)

13 fin


Descargar ppt "Ordenamiento Interno y Búsqueda Binaria"

Presentaciones similares


Anuncios Google