En informática , una matriz asociativa , mapa , tabla de símbolos o diccionario es un tipo de datos abstracto compuesto por una colección de pares (clave, valor) , de modo que cada clave posible aparece como máximo una vez en la colección. No confundir con procesadores asociativos
La implementación de matrices asociativas plantea el problema del diccionario , un problema clásico de la informática: la tarea de diseñar una estructura de datos que mantenga un conjunto de datos durante las operaciones de "búsqueda", "eliminación" e "inserción". [3] Las dos soluciones principales al problema del diccionario son una tabla hash y un árbol de búsqueda . [1] [2] [4] [5] En algunos casos, también es posible resolver el problema utilizando matrices direccionadas directamente , árboles de búsqueda binaria u otras estructuras más especializadas.
Muchos lenguajes de programación incluyen matrices asociativas como tipos de datos primitivos y están disponibles en bibliotecas de software para muchos otros. La memoria direccionable por contenido es una forma de soporte directo a nivel de hardware para matrices asociativas.
Las matrices asociativas tienen muchas aplicaciones, incluidos patrones de programación fundamentales como la memorización y el patrón decorador . [6]
El nombre no proviene de la propiedad asociativa conocida en matemáticas. Más bien, surge del hecho de que asociamos valores con claves.
En una matriz asociativa, la asociación entre una clave y un valor se conoce a menudo como un "mapeo", y el mismo mapeo de palabras también puede usarse para referirse al proceso de creación de una nueva asociación.