Tabla de contenidos
Las tablas hash son estructuras de datos que se utilizan para almacenar un número elevado de datos sobre los que se necesitan operaciones de búsqueda e inserción muy eficientes. Una tabla hash almacena un conjunto de pares “(clave, valor)”. La clave es única para cada elemento de la tabla y es el dato que se utiliza para buscar un determinado valor.
Un diccionario es un ejemplo de estructura que se puede implementar mediante una tabla hash. Para cada par, la clave es la palabra a buscar, y el valor contiene su significado. El uso de esta estructura de datos es tan común en el desarrollo de aplicaciones que algunos lenguajes las incluyen como tipos básicos.
Supongamos que en una aplicación se deben manipular un
número muy elevado de pares (clave, valor)
. Estos pares son
creados bajo demanda por la aplicación, se manipulan, y se destruyen. La
manipulación consiste principalmente en buscar si la aplicación contiene ya
un par (clave, valor)
dado, y si no es así, se añade a la
tabla.
Por ejemplo, se dispone de una aplicación un teléfono móvil que es capaz de reconocer mediante la cámara los números de un pasaporte. Para cada pasaporte se almacena un mensaje de texto con un comentario. La aplicación debe realizar las siguientes operaciones:
Crear una tabla de pasaportes vacía.
Dado un número de pasaporte, buscar si está almacenado ya en la tabla.
Dado un número de pasaporte y un comentario, almacenar
este par (clave, valor)
en la tabla. Se asume que no hay
información previa sobre este número de pasaporte.