Estructuras de Datos Líneas

Colas

Listas enlazadas

Pilas

               **Definición**                                                                                                                   
                                                                 Comparable a una lista vinculada o una matriz , una pila es una estructura de datos lineal que puede contener un grupo de elementos. Como tipo de datos abstracto con una capacidad limitada, una pila es simplemente una estructura de datos que permite agregar y eliminar elementos en un orden específico . Cuando se agrega un elemento, se coloca en la parte superior de la pila y el único elemento que se puede eliminar es el elemento que se agregó por última vez y cuya posición está en la parte superior de la pila.

Funciones de rehacer y deshacer (en casi cualquier programa)

Historial del navegador

Funciones de avance y retroceso en navegadores web

Problemas de retroceso

Inversión de cuerdas

Clasificación topológica y componentes fuertemente conectados

                **Orígen**                                           
                                      El método de pila para la evaluación de expresiones fue propuesto en 1955 y dos años después patentado por Fiedrich L.Bauer, quién recibió en 1988 el premio "IEEE Computer Society Pioneer Award" por su trabajo en el desarrollo de dicha estructura de datos.
                      **Definición**                                                                                                                                                                 

  Una cola es una lista en las que las supresiones se realizan solamente al principio de la lista y las inserciones al final de la misma. Al igual que en el caso de las pilas, hay que prever un vector para almacenar el máximo número de elementos que puedan presentarse en el programa. A diferencia de las pilas, no basta con añadir un simple contador, tal que indique el número de elementos válidos; sino hay que prever dos índices que indiquen la posición del comienzo y del final de la cola. Si la cola no está vacía, en CABEZA está el primer elemento, y si la cola no está llena, en FIN es el lugar donde se copia el siguiente elemento que se incorpora a la misma.

Cola de Procesos

Cola de impresión

Simulación de Operaciones: Poner y Quitar

Deliver o Entrega de Paquetes

Orígen
El origen de la teoría de colas está en el esfuerzo de Agner Kraup Erlang (Dinamarca, 1878 - 1929) en 1909 para analizar la congestión de tráfico telefónico con el objetivo de cumplir la demanda incierta de servicios en el sistema telefónico de Copenhague. Sus investigaciones acabaron en una nueva teoría denominada teoría de colas o de líneas de espera. Esta teoría es ahora una herramienta de valor en negocios debido a que un gran número de problemas pueden caracterizarse, como problemas de congestión llegada - salida.

Definición
Una lista enlazada o estructura ligada, es una estructura lineal que almacena una colección de elementos generalmente llamados nodos, en donde cada nodo puede almacenar datos y ligas a otros nodos. De esta manera los nodos pueden localizarse en cualquier parte de la memoria, utilizando la referencia que lo relaciona con otro nodo dentro de la estructura.


Las listas enlazadas son estructuras dinámicas que se utilizan para almacenar datos que están cambiando constante mente. A diferencia de los vectores, las estructuras dinámicas se expanden y se contraen haciéndolas más flexibles a la hora de añadir o eliminar información.

Implementación de pilas y colas

Implementación de gráficos: la representación de gráficos de listas de adyacencia es la más popular, que utiliza una lista vinculada para almacenar vértices adyacentes.

Asignación de memoria dinámica: utilizamos una lista enlazada de bloques libres.

Realización de operaciones aritméticas con números enteros largos

Manipulación de polinomios almacenando constantes en el Node de la lista enlazada

representando arrays dispersas

Orígen
Las listas enlazadas fueron desarrolladas en 1955-56 por Cliff Shaw y Herbert Simón en RAND Corporation, como la principal estructura de datos para su Lenguaje de Procesamiento de la Información (IPL). IPL fue usado por los autores para desarrollar varios programas relacionados con la inteligencia artificial, incluida la Máquina de la Teoría General, el Solucionador de Problemas Generales, y un programa informático de ajedrez. Se publicó en IRE Transactions on Information Theory en 1956, y en distintas conferencias entre 1957-1959, incluida Proceedings of the Western Joint Computer en 1957 y 1958, y en Information Processing (Procedentes de la primera conferencia internacional del procesamiento de la información de la Unesco) en 1959.