You are on page 1of 9

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA
ARMADA NACIONAL BOLIVARIANA
UNEFA-NÚCLEO NUEVA ESPARTA

MÉTODO HASHING
INTEGRANTES:
Darwing Yepez
Omar Loyola
Alexander Marval
MÉTODO HASHING
Es una función que permite aumentar la velocidad de búsqueda sin necesidad de tener los
elementos ordenados. Cuenta también con la ventaja de que el tiempo de búsqueda es
prácticamente independiente del número de componentes del arreglo.

Transformación o función hash (H)

Clave Función Hash Posición o Dirección

Claves que no se corresponden con índices


Alfanuméricas: Valores numéricos muy grandes:

Clave : AU5R37 Clave : 248965782

H(Clave) : 537 H(Clave) : 245


MÉTODO HASHING
Colisiones

Clave : 13 Clave : 31

H(Clave) : 4 H(Clave) : 4

Por todo lo mencionado, para trabajar con este método de búsqueda debe elegirse previamente:
• Una función hash que sea fácil de calcular y que distribuya uniformemente las claves.
• Un método para resolver colisiones. Si estas se presentan se debe contar con algún método
que genere posiciones alternativas.
MÉTODO HASHING
Función Módulo (por división)
Consiste en tomar el residuo de la división de la clave entre el numero de componentes del arreglo.
La función hash queda definida por la siguiente formula:

K: Es la clave H(K) = (K mod N)

Se recomienda que N sea el numero primo inmediato inferior al


numero total de elementos.
MÉTODO HASHING
Función Centro de Cuadrados
Consiste en elevar al cuadrado la clave y tomar los dígitos centrales como dirección. El
numero de dígitos a tomar queda determinado por el rango del índice.
H(K) = dígitos centrales (K²)

Clave: 136 H(Clave): 136*136 = 18496

Dirección: 84 0

… …

84 136
MÉTODO HASHING
Función Plegamiento
Consiste en dividir la clave en partes de igual numero de dígitos (la ultima puede tener
menos dígitos) y operar con ellas, tomando como dirección los dígitos menos significativos.
La operación entre las partes puede hacerse por medio de sumas o multiplicaciones. La
función hash queda definida por la sig. formula:

H(K) = funcion [(d1) + (d2) + ... + (dn)]

Clave: 12345678 H(Clave): 123+456+78 = 657


MÉTODO HASHING
Función Truncamiento
Consiste en tomar algunos dígitos de la clave y formar con ellos una dirección. La función
hash queda definida por la sig. fórmula:

H(K) = elegir_digitos (d1,d2...dn)

Clave : 12345678 H(Clave): 138


AR4T-1 PG2H-4

GH9O-5
Función hash

UY7I-5
MÉTODO HASHING
Ventajas
• El acceso a los datos suele ser muy rápido.
• Una función resumen que distribuya uniformemente las claves.

Desventajas
• Necesidad de ampliar el espacio de la tabla si el volumen de datos almacenados
crece. Se trata de una operación costosa.
• Dificultad para recorrer todos los elementos. Se suelen emplear listas para
procesar la totalidad de los elementos.
• Desaprovechamiento de la memoria. Si se reserva espacio para todos los
posibles elementos, se consume más memoria de la necesaria; se suele resolver
reservando espacio únicamente para punteros a los elementos.

You might also like