Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNAN-Managua
Facultad de Ciencias e Ingenierías
Departamento de Computación
Búsqueda Externa
INTRODUCCIÓN
Búsqueda Hash
La función de hash ideal debería ser biyectiva, esto es, que a cada elemento le
corresponda un índice, y que a cada índice le corresponda un elemento, pero no
siempre es fácil encontrar esa función, e incluso a veces es inútil, ya que puedes
no saber el número de elementos a almacenar. La función de hash depende de
cada problema y de cada finalidad, y se pueden utilizar con números o cadenas,
pero las más utilizadas son:
Esta función se emplea con claves numéricas entre las que existen huecos de
tamaño conocido, obteniéndose direcciones consecutivas. Un ejemplo serían los
alumnos de ingeniería en sistemas que entraron en el año 2005 sus números de
control son consecutivos y está definido el número de alumnos.
Variables
pos: posición actual en el array
pos = 0
Mientras pos < tam:
Si vec[pos]== dato devolver verdadero y/o pos, de lo contrario:
pos = pos + 1
Fin (Mientras)
Devolver falso
3 5 10 15
10 15
Nota: Recordemos que el arreglo debe estar ordenado para poder aplicar
este algoritmo.
BUSQUEDA HASH
BUSQUEDA SECUENCIAL
BUSQUEDA BINARIA
Este mecanismo es muy eficaz para buscar un elemento cualquiera que
esté en una lista ordenada, y recibe el nombre de Búsqueda Binaria o
Dicotómica cuya resolución se base en el algoritmo de divisiones
sucesivas en mitades.
El peor de los casos: es cuando se produce una colisión en las posiciones, esto
quiere decir que la posición que se va almacenar una clave ya está haciendo
utilizada por otra (para este tipo de problema existe el sistema de colisiones).
VENTAJAS
BUSQUEDA SECUENCIAL
BUSQUEDA BINARIA
La búsqueda binaria es un método eficiente siempre que el vector este
ordenado de manera ascendente y descendente.
La búsqueda binaria proporciona un medio para reducir el tiempo
requerido para buscar un elemento dentro de una lista de gran tamaño.
Es altamente recomendado para buscar en arreglo extremadamente
extensos ya que si se tiene un arreglo de más de 100 elemento, este en
una sola iteración desecha la mitad del arreglo reduciendo elementos y
de esta manera tiempo.
El código del procedimiento de esta búsqueda es corta en comparación
con las damas técnicas de búsqueda.
BUSQUEDA HASH
Se pueden usar los valores naturales de la llave, puesto que se traducen
internamente a direcciones fáciles de localizar
Se logra independencia lógica y física, debido a que los valores de las
llaves son independientes del espacio de direcciones
No se requiere almacenamiento adicional para los índices.
DESVENTAJAS
BUSQUEDA SECUENCIAL
BUSQUEDA BINARIA
El archivo debe estar ordenado y el almacenamiento de un archivo
ordenado suele plantear problemas en las inserciones y eliminaciones de
elementos.
No revisa todos los elementos del archivo, requiere que todos los
elementos estén ordenados.
BUSQUEDA HASH