Ventajas:
Desventajas :
Ventajas :
Desventajas:
TIEMPOS
Una tabla hash es una estructura de datos que permite la recuperación, inserción, eliminación y búsqueda de datos de forma rápida
La potencia de las tablas hash se encuentra en la búsqueda de elementos; conociendo el campo clave se puede obtener directamente la posición que ocupa, y por tanto, la información que se encuentra almacenada en ese espacio de memoria.
La eficacia de una tabla hash va de acuerdo a como se tratan las colisiones y la lógica de un algoritmo que permita un rápido acceso e inserción de datos a la estructura sin ninguna fuga de datos.
int hash::Hash(string key){
int hash=0;
for(int i=0;i<key.length();i++)
{
hash+=(int)key[i]; //Cada caracter tiene un key diferente
//y se almacena en el HASH
// For para obtener el HASH de cada key
} //
return hash%tableSize; //Como obtener el index de cada hash
}
Una de las aplicaciones de las tablas hash esta en los compiladores de lenguajes de programación. La tabla donde se guardan los identificadores del programa, tabla de símbolos, se implementa como una tabla hash. La clave es el símbolo que se transforma en un valor entero para aplicar alguna de las funciones hash.
O(n/k)
O(n/k)
A real world example: Suppose I stay in a hotel for a few days, because I attend a congress on hashing. At the end of the day, when I return to the hotel, I ask the desk clerk if there are any messages for me. Behind his back is a dovecot-like cupboard, with 26 entries, labeled A to Z. Because he knows my last name, he goes to the slot labeled W, and takes out three letters. One is for Robby Williams, one is for Jimmy Webb, and one is for me.
The clerk only had to inspect three letters. How many letters would he have to inspect if there would have been only one letter box?
http://stackoverflow.com/questions/8263617/what-are-some-common-examples-of-a-hash-table
answered Jan 31 '12 at 15:56 by wildplasser