En las ciencias de la computación, las estructuras de datos son las diferentes formas en las que los datos se organizan y almacenan. En muy pocas palabras, son esencialmente formas de organizar la información. También pueden verse como un contenedor que almacena información de una forma específica.
La correcta elección de la estructura de datos para cada situación o ámbito de aplicación, es crucial para el tratamiento de los datos, y está estrechamente relacionada con los algoritmos que implementan las aplicaciones que deben manipular dichos datos.
Tabla de contenidos
Tipos comunes de estructuras de datos
- Arrays. También llamados arreglos, vectores, matrices o formaciones. Son estructuras creadas por conjuntos de datos del mismo tipo, almacenados en posiciones contiguas de memoria (caracteres, números enteros, de coma flotante, …). Se accede a cada elemento mediante su índice. Existen arrays unidimensionales y multidimensionales. Estos últimos son disposiciones con arrays dentro de arrays.
- Listas enlazadas. En estas, cada nodo guarda un enlace o puntero al nodo anterior o posterior, hecho que les permite ubicarse de forma aleatoria en la memoria, en lugar de necesariamente contigua como en los arrays.
- Pilas (stacks). Conjunto de elementos donde el último elemento agregado es el primero en ser eliminado (LIFO – Last In, First Out).
- Colas (Queues). Son el concepto inverso a las pilas. E las colas, el primer elemento agregado es el primero en ser eliminado (FIFO – First In, First Out).
- Árboles. Esta estructura refleja la estructura jerárquica de un árbol.
- Grafos. Conjunto de nodos enlazados a través de aristas. Los grafos son adecuados para el tratamiento de grandes cantidades de información (Big Data).
Soporte de las estructuras de datos por los lenguajes de programación
Mientras que los lenguajes ensambladores normalmente carecen de soporte para manipular estructuras de datos, los lenguajes de alto nivel como Python, C++ o Java (entre otros muchos), disponen de sintaxis y palabras clave para manejarlos