¿Cómo se usa una función hash en una tabla hash?

Una tabla hash (HT) es una estructura de datos que puede asignar claves a valores.

Entonces, por ejemplo, si tengo que hacer un hash de una lista de colores (mis teclas)

  • Rojo -> 456
  • Azul -> 559
  • Verde -> 086

Necesitaré una función (->) que ‘convertirá’ estas teclas en cualquier forma numérica, para tener una correspondencia ÚNICA como salida (escrita en negrita ).

Con una forma numérica (codificada) (en lugar de una cadena) podemos clasificar y buscar en el HT de una manera mucho más rápida, especialmente en situaciones con miles y miles de registros.

Entonces, el primer paso es elegir una función hash. La mejor función es la que es capaz de hacer hash keys sin colisiones (al menos idealmente, porque en realidad no existe tal función hash totalmente inyectiva).

Se produce una colisión cuando 2 teclas se asignan (por una función) al mismo valor. Y esto es absolutamente para evitar.

Entonces, el truco es elegir una función hash (basada en algunas reglas) que asegure no tener colisiones para el campo de la aplicación requerida.

Más sobre colisiones en: Hash Probabilidades de colisión

http://www.lmgtfy.com : función Hash – Wikipedia