Está en la página 1de 1

Tablas - Funciones Hash

Hash se refiere a una función o método para generar Hash estático es una técnica de hashing que
permite a los usuarios realizar búsquedas en un
claves o llaves que representen de manera casi unívoca a conjunto de diccionarios finalizados (todos los
un documento, registro, archivo, etc., resumir o identificar un objetos en el diccionario son finales y no
cambian).
dato a través de la proba
bilidad, utilizando una función hash o algoritmo hash. Un Hash dinámico es una técnica de hashing en la que los grupos de datos se
agregan y eliminan de forma dinámica y bajo demanda. Por lo tanto, esta es la
hash es el resultado de dicha función o algoritmo. Por principal diferencia entre hash estático y dinámico.
la forma en que se almacenan los datos, las tablas hash suelen ser
más lentas para acceder que los índices de árboles binarios auto-
balanceados. Diferencias: En el hash estático, la dirección del grupo de datos resultante es
siempre la misma. Sin embargo, en el hashing dinámico, los grupos de datos
cambian según los registros. Por lo tanto, esta es otra diferencia importante entre
hash estático y dinámico.
La eficiencia es la otra diferencia entre hash estático y dinámico. El hash
Elementos basicos de una tabla Hash dinámico es más eficiente que el hash estático.

Un vector Función de resolución Función de dispersión

Un vector capaz de almacenar “m” elementos Una función de resolución de colisiones Función de dispersión que permita a partir de los
datos (llamados clave) obtener el índice donde
estará el dato en el arreglo

Encadenamiento Direccionamiento abierto Fuiciones mas usadas

El encadenamiento se Las colisiones serán resueltas por Hash de division Hash de multiplicacion
da cuando una casilla medio de un sondeo del mismo
del array hace referencia hasta encontrar el registro o hasta
a una lista de registros llegar a una casilla vacía.
que colisionan en Consiste en tomar el resto (H) de la division resultante entre por sí misma o por una constante,
esa casilla. el numero (K) clave o campo clave y el numero de usando después alguna porción de
elementos (N). H(k)=K mod N +1 los bits del producto como una
Sonde lineal Sondeo cuadratico Doble hasheo Ejemplo: Sean K1=7259 y K2=9359, elementos=100 localización de la tabla hash.
H(K1) = 7259 mod 100 + 1=60
Ventajas H(K2) = 9359 mod 100 + 1=60
como puede verse aqui hay una colision, por lo que en vez
El intervalo entre cada intento es El intervalo entre los intentos El intervalo entre intentos es constante de N=100 (numero de elementos) debe usarse un numero
constante. Favorece el rendimiento aumenta linealmente. Se para cada registro, pero es calculado por otra primo mas cercano, 97.
El borrado es simple El crecimiento de la del caché, pero es más sensible a la sitúa en medio en cuanto a función hash. Disminuye el Aplicando la formula quedaria:
tabla puede ser aglomeración rendimiento en caché y rendimiento en el caché, pero elimina el H(K1) = 7259 mod 97 + 1=82
pospuesto durante más aglomeración. problema de aglomeración. H(K2) = 9359 mod 97 + 1=48
tiempo, aun cuando
todas las casillas
están ocupadas.

También podría gustarte