UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

Capítulo 7. Tablas Hash

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.

7.1. Contexto de uso de una tabla hash

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.