Está en la página 1de 4

Carlos Fabin Len Rojas

Jonathan Torres Daz


Cesar Guzmn Segura

Colisiones Tablas Hash


Si dos llaves generan un hash apuntando al mismo ndice, los registros
correspondientes no pueden ser almacenados en la misma posicin.
En un milln de entradas, hay un 95% de posibilidades que al menos una
colision ocurra antes de alcanzar los 2500 registros.
Si trabajamos con HashTables es normal que se produzcan colisiones. Estas
se producen cuando al haber elementos que contienen informacin distinta,
se les asigna la misma clave por medio de la funcin de dispersin. Debido
a estos errores frecuentes las HashTables tienen una funcin que nos
permite solucionar todos estos errores. Al existir 2 tipos de HashTables se
utiliza un mtodo para cada una.

Tcnicas resolucin de colisiones:


1- Encadenamiento por Separado
O tambin llamado hashing abierto cada casilla en el array referencia una
lista de los registros insertados que colisionan en la misma casilla. La
insercin consiste en encontrar la casilla correcta y agregar al final de la
lista correspondiente. El borrado consiste en buscar quitar de la lista.

Ejemplo
El pseudocdigo que sigue es una implementacin de una tabla hash de
direccionamiento abierto con sondeo lineal para resolucin de colisiones y
progresin sencilla, una solucin comn que funciona correctamente si la
funcin hash es apropiada.

2-Direccionamiento Abierto:
Al utilizar un vector como representacin y cuando se produzca una colisin
la resolvemos reasignndole otro valor hash a la clave hasta que
encontremos un hueco.

Ejemplo Cdigo

Bibliografa
http://moralesblog.net/hash-table-java/
http://web.engr.illinois.edu/~jeffe/teaching/373/notes/06-hashing.pdf

También podría gustarte