Вы находитесь на странице: 1из 11

|   

Concepto
Una tabla Hash es
conceptualmente una
sección contigua de
memoria con un número de
elementos direccionables,
comúnmente llamados bins
(depósitos), los cuales
pueden ser rápidamente
insertados, borrados o
localizados.
caracterìsticas
‡ Las tablas hash representan un sacrificio
de memoria para conseguir velocidad.
‡ Las tablas Hash se usan generalmente
para organizar datos.
‡ Hashtable es la clase que proporciona
Java para manejar tablas hash.
‡ Hashtable se hereda directamente desde
Dictionary e implemeta los interfaces Map,
Cloneable y Serialize.
‡ Una key (clave) es un valor que puede ser
situado en uno de los elementos
direccionables de la tabla hash.
vropiedades Que Deben Tener Las
Funciones Hasing

‡ Los datos deben estar dispersados tan


aleatoriamente como sea posible a través
de la tabla hash para minimizar las
posibilidades de una colisión. vor ejemplo,
una buena función hash debe colocar la
letra "b" bastante lejos de la letra "a".
‡ La función hashing debe ejecutarse a una
velocidad razonable.
Factor De Carga
‡ El factor de carga de una tabla hash es definido
como el cociente entre el número de depósitos
(bins) completos entre el total de depósitos
útiles.
‡ El lenguaje de programación Java incrementará
la memoria de una tabla hash cuando su factor
de carga sea superior a un 75 %.
Colisiones
‡ Las colisiones ocurren cuando a dos datos
se le asigna la misma key en la función
hashing.
Encadenamiento
‡ El encadenamiento (chaining) es el
método de tratar con las colisiones en una
tabla hash, imagine que cada depósito es
un puntero a una lista enlazada de datos.
‡ Es interesante que, usando
encadenamiento, se puede tener una
tabla hash con un factor de carga que
exceda del 100 %.
Demostración de Tablas hash
en Java

Вам также может понравиться