miércoles, 9 de diciembre de 2015

Tabla Hash

Una tabla hash es una estructura de datos muy eficiente para realizar búsquedas.

Las tablas hash también son conocidas cómo hash map, mapa hash, tabla de dispersión, etc y su principal característica es que nos permiten almacenar datos del tipo llave valor. Es una estructura de datos muy eficiente a la hora de realizar búsquedas.

Un ejemplo de tabla hash sería un listado con el nombre y número de teléfono de muchas personas, el funcionamiento es muy sencillo. Toda tabla hash para poder almacenar los datos que le demos tiene una función hash, esa función se encarga de traducir la llave a una posición, número entero que se corresponde con el índice de la tabla donde almacenaremos el valor. Paso por paso (en el ejemplo de agenda de teléfonos) sería así:

-Introducimos el nombre (que sería la llave)
-La función hash de acuerdo a las funciones y algoritmos que le hayamos puesto previamente calculará que posición en la tabla debe ocupar el valor de esa llave, es decir, traduce el nombre a un número que será la posición donde almacenaremos el número
-Introducir el número de teléfono (que sería el valor)

Una vez hechos estos pasos ya tendremos el par llave valor almacenado en nuestra tabla y para poder recuperarlo bastaría con introducir la llave o clave para conseguir el valor de la siguiente forma:

-Introducimos la llave (que en el ejemplo sería el nombre)
-La función hash, al igual que a la hora de introducir el par llave valor, calcula que posición en la tabla le corresponde a esa llave y así obtiene el valor de una forma muy eficiente

Un ejemplo gráfico sería el siguiente:

ejemplo de funcionamiento de una tabla hash
Funcionamiento de una tabla hash


Este tipo de tablas resulta muy eficiente para realizar búsquedas si tenemos muchos elementos almacenados ya que no tenemos que recorrer la tabla completa para realizar la búsqueda sino que nos bastaría con conocer la clave para poder encontrar el valor, ahorrándonos así el tiempo que se necesita en recorrer toda la tabla.

Cualquier duda o cosa que queráis preguntar ponerla por los comentarios, da igual si es algo bueno, malo, un chiste o lo que sea, vosotr@s ponerlo jajaj


No hay comentarios:

Publicar un comentario