Es una colección de datos que se caracterizan por su organización y las
operaciones que se definen en ellos. Una estructura de datos está compuesta por tipos de datos simples o primitivos.
Estructuras Lineales y No Lineales: Las estructuras de datos se clasifican en
Lineales y no Lineales. Las lineales: Se refieren a que los elementos se encuentran posicionados lógicamente de manera secuencial uno tras otro. Incluyen pilas, colas y listas ligadas lineales. 1. Pilas: La Pila es una estructura de datos lineal que puede organizarse de manera estática o dinámica. Se caracteriza por tener un mecanismo llamado LIFO (Last Input, First Output) que permite realizar operaciones de inserción y eliminación de manera que el último en entrar, es el primero en salir. Las entradas y salidas de datos se realizan por uno de sus extremos llamado Tope. La mayoría de lenguajes disponen de un tipo de dato Pila( Stack), sin embargo, es necesario conocer su manipulación ya sea mediante memoria estática o dinámica. Mediante memoria estática la forma de representar una pila es mediante un vector. Para representarla como estructura dinámica, se usan Listas Enlazadas o Ligadas. 2. Colas: Una cola es una estructura de datos lineal. El mecanismo que identifica a una cola es conocido como FIFO (Fisrt Input First Output), es decir el primer elemento que se inserta a una cola es el primero en salir. Los extremos por donde se realizan las operaciones de entrada y salida, son llamados fin y frente, consecutivamente. Existen diversos tipos de colas: La cola circular, La bicola o cola doble, Cola de prioridades.
3. Listas: Una lista enlazada o ligada, es una estructura de datos lineal
dinámica. Una lista enlazada se caracteriza porque los elementos se almacenan en posiciones de memoria que no son contiguas, por lo que cada elemento necesita almacenar la referencia (dirección de memoria) del siguiente elemento de la lista. Existen Listas Simples, Dobles, Simple Circular y Doble Circular. Esta forma de almacenamiento y organización de datos resulta la más adecuada si el número de elementos a almacenar es impredecible, ya que no hay un límite preestablecido para el uso de memoria. Una lista de este tipo se comporta de acuerdo a las necesidades de la aplicación. Es decir no existen operaciones específicas para una lista, mediante Listas Enlazadas se pueden representar Pilas y Colas.
Las no lineales: Son aquellas en que después de un elemento se encuentran
posicionados más de uno. Incluyen grafos y árboles. 1. Grafos: Los grafos son estructuras de datos no lineales que tienen una naturaleza generalmente dinámica. Un grafo dirigido consiste en un conjunto de vértices y un conjunto de arcos o aristas. Los vértices se denominan también nodos o puntos. Las aplicaciones de los grafos son las siguientes: Rutas entre ciudades. Determinar tiempos máximos y mínimos en un proceso. Flujo y control en un programa. 2. Arboles: El Árbol es una estructura de datos no lineal ya que a cada uno de sus elementos pueden seguirle varios. Un árbol es una estructura de almacenamiento de tipo jerárquico que consiste en una colección de elementos llamados nodos en donde el primero de ellos se denomina raíz. Un árbol tiene un número finito de elementos que a la vez forman sub- árboles. Dentro de las aplicaciones más importantes de los árboles se encuentran la representación de complejas fórmulas matemáticas, la organización de información que requiere numerosas búsquedas y la manipulación de la información en el campo de la inteligencia artificial.