Documente Academic
Documente Profesional
Documente Cultură
Este método de búsqueda es muy lento, pero si los datos no están en orden
es el único método que puede emplearse para hacer las búsquedas. Si los
valores de la llave no son únicos, para encontrar todos los registros con una
llave particular, se requiere buscar en toda la lista.
3) Transposición
4) Ordenamiento
Búsqueda binaria
Algoritmo
La idea básica de este método consiste en aplicar una función que traduce
un conjunto de posibles valores llave en un rango de direcciones relativas. Un
problema potencial encontrado en este proceso, es que tal función no puede
ser uno a uno; las direcciones calculadas pueden no ser todas únicas, cuando
R(k1 )= R(k2)
Pero : K1 diferente de K2 decimos que hay una colisión. A dos llaves diferentes
que les corresponda la misma dirección relativa se les llama sinónimos.
Ventaja
Desventajas
1. No pueden usarse registros de longitud variable
2. El archivo no está clasificado
3. No permite llaves repetidas
4. Solo permite acceso por una sola llave
Costos
• Residuo de la división
• Medio del cuadrado
• Pliegue
Mientras que el valor calculado real de una dirección relativa, dados tanto un
valor de llave como el divisor, es directo; la elección del divisor apropiado
puede no ser tan simple. Existen varios factores que deben considerarse para
seleccionar el divisor:
Ejemplo:
Ejemplo:
Ejemplo:
Existen dos métodos básicos para determinar donde debe ser alojado K2 :
Sondeo lineal
Que es una técnica de direccionamiento abierto. Este es un proceso de
búsqueda secuencial desde la dirección de origen para encontrar la siguiente
localidad vacía. Esta técnica es también conocida como método de
desbordamiento consecutivo.
Para la búsqueda de un registro por hashing con sondeo lineal, los valores
de llave de los registros encontrados en la dirección de origen, y en las
direcciones alcanzadas con el sondeo lineal, deberá compararse con el valor
de la llave buscada, para determinar si el registro objetivo ha sido localizado o
no.
En esta técnica se aplica una segunda función hash para combinar la llave
original con el resultado del primer hash. El resultado del segundo hash puede
situarse dentro del mismo archivo o en un archivo de sobreflujo independiente;
de cualquier modo, será necesario algún método de solución si ocurren
colisiones durante el segundo hash.