1 / 13

Ordenamiento Interno y Búsqueda Binaria

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 .

topper
Download Presentation

Ordenamiento Interno y Búsqueda Binaria

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. 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 3 Catalina Márquez 1 .. .. .. Martha Mora 2 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

More Related