Una estructura de datos es un concepto de la informática que se refiere a un método particular de recopilar y organizar información. Todas las estructuras de datos utilizan información sobre dónde se encuentra un dato determinado en la memoria de una computadora para acceder a esos datos y conectarlo a otros datos.
Las estructuras de datos establecen uno de los muchos tipos diferentes de relaciones entre piezas individuales de información. Los diferentes tipos de estructura de datos son más eficientes para diferentes propósitos y la dificultad de codificar varía ampliamente entre los tipos de estructura de datos.
Las matrices se encuentran entre las estructuras de datos más simples pero, no obstante, son herramientas muy poderosas para organizar la información. En una matriz, a los elementos se les asignan direcciones de memoria secuenciales, lo que permite que la dirección de memoria de cualquier elemento de la matriz se determine muy rápidamente utilizando cálculos matemáticos simples, una ventaja clave. Las matrices se pueden concebir como existentes en cualquier número de dimensiones. Una matriz unidimensional podría conceptualizarse como una lista, una matriz bidimensional como una tabla y una matriz tridimensional como un cubo de celdas individuales. También pueden existir matrices de más de tres dimensiones.
Las listas enlazadas son otro tipo de estructura de datos simple pero muy importante. En una lista vinculada, cada nodo consta de una variable que contiene tanto datos reales como información que identifica el siguiente elemento de la lista. Por tanto, se puede recorrer una lista enlazada siempre que se conozca la dirección del primer nodo. Este tipo de estructura de datos es versátil porque se presta a un crecimiento dinámico, ya que se pueden asignar fácilmente nuevos nodos en cualquier momento. La adición de una variable que contiene la ubicación del nodo anterior en la lista permite atravesar este tipo de estructura de datos en cualquier dirección.
Los árboles ordenan los nodos jerárquicamente, comenzando con un nodo raíz y descendiendo a través de múltiples capas de nodos hasta que todos los datos necesarios se hayan acomodado dentro de la estructura. Normalmente, los elementos dentro de un árbol se ordenan de alguna manera. Los árboles pueden implementar la clasificación y potencialmente pueden proporcionar un acceso mucho más rápido a los datos almacenados debido a esto, ya que cada ramificación elimina la consideración de franjas enteras de información que deberían clasificarse en una lista vinculada.
Las tablas hash se utilizan para determinar una dirección de memoria en la que se almacenará un dato determinado mediante el uso de una ecuación para transformar esos datos en una dirección de memoria. Pueden ser una estructura muy eficiente para almacenar y recuperar datos de una matriz.
Todas las estructuras de datos están diseñadas para disminuir la cantidad de instrucciones que una computadora debe ejecutar para ubicar un dato en particular. Los diferentes tipos de datos se prestan a diferentes tipos de estructura de datos, pero la mayoría de los lenguajes de programación modernos ofrecen soporte para una amplia variedad de estructuras de datos o proporcionan las herramientas para permitir a los programadores codificar sus propias estructuras de datos.