Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y ALGORITMOS
Licenciatura en Ciencias de la Computación
TRANSFORMACIÓN DE CLAVES
HASHING
DISPERSIÓN
Estructuras de Datos y Algoritmos
HASHING
Problema:
HASHING
Los elementos se almacenan en direcciones de
memoria, entonces:
H:KD
HASHING
Si K = { ki / 000 <= ki <= 999} D = { di / 000 <= di <= 999}
HASHING
Situación ideal ya que:
HASHING • todas las posiciones de la tabla T están ocupadas
PERFECTO • para dos claves distintas k1 y k2, se cumple que
h(k1) es distinta de h(k2).
Problema!!!!
k1 k2 y h (k1) = h (k2) = d
HASHING
Método de la División
A
s a ) Elección de la función de
Extracción
p transformación H.
e
c • distribuir las claves Plegado
t
o
uniformemente
s Cuadrado Medio
• ser calculable de modo
R eficiente
e Funciones aplicables a claves
l alfanuméricas
e
v
a
n Encadenamiento
t
e b) Política de manejo de
s colisiones. Uso de Buckets o cubos
Direccionamiento abierto.
Estructuras de Datos y Algoritmos
HASHING –
Funciones de transformación (1)
Método de la División
h ( k) = k mod M
Extracción
Plegado
HASHING –
Funciones de transformación (2)
Cuadrado Medio
ki = ki1 ki2 ... kin-1 kin
di = kij kij+1 .... kij+l 1< j < j+l < n y 0<= kij kij+1 .... kij+l <= M-1
HASHING –
Funciones de transformación (3)
Extracción
16656 23 23 Mod 18 = 5
Plegado
18 + 12 + 3 = 33 33 Mod 18 = 15
Cuadrado Medio
HASHING –
Funciones de transformación (5)
HASHING
Método de la División
A
s a ) Elección de la función de
Extracción
p transformación H.
e
c • distribuir las claves Plegado
t
o
uniformemente
s Cuadrado Medio
• ser calculable de modo
R eficiente
e Funciones aplicables a claves
l alfanuméricas
e
v
a
n Encadenamiento
t
e b) Política de manejo de
s colisiones. Uso de Buckets o cubos
Direccionamiento abierto.
Estructuras de Datos y Algoritmos
HASHING –
Políticas de manejo de colisiones (1)
M-1
T
Estructuras de Datos y Algoritmos
HASHING –
Políticas de manejo de colisiones (2)
Uso de Buckets
0 b
0 Enlace o Contador
Área Primaria
M-1
Área de Overflow
T
Estructuras de Datos y Algoritmos
HASHING –
Políticas de manejo de colisiones (3)
Direccionamiento Abierto
M-1
T
Estructuras de Datos y Algoritmos
HASHING –
Políticas de manejo de colisiones (4)
• Secuencia de prueba lineal
Agrupamientos
Primarios!!!
Agrupamientos
Secundarios!!!
• Doble Hashing
h(k) – i * h2 ( k) para 0 <= i <= M-1
Estructuras de Datos y Algoritmos
HASHING
Factor de Carga
Standish define al factor de carga de una tabla como la razón entre el número
de entradas N ocupadas en la tabla y el número total de entradas M en la tabla
=N/M
Este autor expresa que si <= 0.7, la cantidad de comparaciones involucradas en
la recuperación de un elemento es adecuada, mientras que la performance se
deteriora, especialmente al aplicar la secuencia de prueba lineal, a medida que la
tabla se aproxima a la saturación total – cuando N se aproxima a M.