Documente Academic
Documente Profesional
Documente Cultură
HASHING
BÚSQUEDA POR TRANSFORMACIÓN DE
CLAVES
EL PROBLEMA:
Solución ?????
LA SOLUCIÓN
Transformación de claves
h(k) = k mod m
m = número primo no muy cercano a una
potencia de dos
(si m=2p, entonces h(k) es los p bits menos
significativos de k
El asunto es ¡qué elegir como divisor!
A tener en cuenta al momento de elegir el divisor:
Ejemplo:
Si k = 22345, m = 10000 y A = (√5 –
1)/2≈0,6180339887
h(k) = ?
HASHING POR MEDIO DEL CUADRADO
Doble Hashing
Aplica otra función de hash para combinar la llave
con el resultado de la primera función
El resultado puede colocarse dentro o en otro
archivo
Si en el segundo hash también hay colisiones toca
hacer otra cosa
MEJORAS
Encadenamiento de sinónimos
Tener una lista enlazada en
las direcciones que tiene
colisiones
JAVA - HASHTABLE
A TRABAJAR