Upload
felicia-abril
View
8
Download
0
Embed Size (px)
DESCRIPTION
tablas hash que es
Citation preview
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