Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tablas Hash PDF
Tablas Hash PDF
Tablas de Hash
Tablas de Hash
Muchas aplicaciones requieren un conjunto dinmico que soporte
las operaciones de un diccionario: Insercin, Bsqueda,
Eliminacin.
1 1
Universo de Claves
U 2
3 3
5 8 0 2
4 5
6
5
1
6
Claves 3
Almacenadas
7 7
(K) 4
7
8
9 9 9
Tablas de Hash
Tablas de Direccionamiento Directo
Estructura de Datos y Operaciones:
onstante
MAXCLAVES = |U|;
tipo
RangoClaves = 0..MAXCLAVES-1;
TipoClave = Entero;
TipoInfo = ?;
TipoElem = registro
clave: TipoClave;
info: TipoInfo;
fregistro;
h(k) = i
h: Funcin de hash
k: Clave
i: Direccin o ndice en la tabla
Tablas de Hash
Tablas de Hash
Tabla de Hash
Universo de Claves 1
U
2
5 8 0 2
3
Funcin de
6 hash o 4
1 funcin de
mapeo 5
Claves 3
Almacenadas 6
(K) 4
7
7
8
9
9
Tablas de Hash
Tablas de Hash
Como es posible que dos claves conduzcan al mismo mapeo, es
decir, que la funcin de hash produzca el mismo resultado para dos
claves diferentes (colisin).
Una funcin hash (h) convierte una clave en una direccin (ndice)
dentro del arreglo:
Mtodo de la divisin:
Mtodo de la multiplicacin:
Este mtodo opera en dos pasos:
Tabla de
Hash
0
Universo de 1
Claves
U 2
5 8 0 2
3
Funcin
6 de hash 4
1 o
funcin 5
Claves 3
Almacenad
de
6
as (K) 4 mapeo
7
7
8
9
9
Tablas de Hash
Hash Abierto
onstante
MAX_TABLA = ?;
tipo
RangoClaves = 0.. MAX_TABLA - 1;
TipoClave = Entero;
TipoInfo = ?;
TipoElem = registro
clave: TipoClave;
info: TipoInfo;
fregistro;
0
Universo de
Claves 1
U K0
K5 2
K4
K8 K2
K7 3
Funcin
K6 de hash 4
K1 o
funcin 5
Claves
Almacenad
de
6
as (K) mapeo
K3 7
8
K9
9
Tablas de Hash
Hash Cerrado
Prueba lineal
En este tipo de estrategia se utiliza la funcin f(i), la cual es una funcin lineal
de i, por ejemplo: f(i) = i. La funcin de hash quedara de la siguiente manera:
Exploracin cuadrtica
Dispersin Doble
h2(k) = R - (k MOD R)