Programación en pitón
Las estructuras de datos son la columna vertebral de la computación central y las usamos para resolver varios problemas. Los conceptos claros en DSA realmente pueden ayudarlo a construir programas complejos y desarrollar sus habilidades para convertirse en un buen programador.
Este artículo se centra en la implementación de la cola utilizando una lista vinculada en el lenguaje deprogramación Python .

¿Qué Son Las Colas?

A Queues es una estructura de datos abstracta donde podemos agregar nuevos elementos y eliminar elementos de dos extremos (Delantero y Trasero). El proceso se verbaliza como Encolado y Encolado, respectivamente.
Considere un ejemplo de una línea física de personas:
Las personas se pueden agregar al final de la línea llamada (encolado), y las personas se eliminan de la parte frontal de la línea llamada (encolado). Exactamente de esta manera, el sistema de colas funciona en el mundo real. Si vas a un mostrador de boletos para comprar boletos de autobús y eres el primero en la cola, entonces serás el primero en obtener los boletos. ¿Derecha? Lo mismo ocurre con la estructura de datos de la cola. Los datos que se inserten primero dejarán la cola primero.
Este concepto se describe como un término llamado  FIFO , que significa primero en entrar , primero en salir . Es una estructura de datos donde el primer elemento agregado a la colección será el primero eliminado.

Características Básicas De La Cola.

  1. Al igual que la pila, la cola es también una estructura de datos de línea.
  2. La cola es una estructura FIFO (First in First Out).
  3. La función Peek ()  se usa generalmente para devolver el valor del primer elemento sin anularlo.

Aplicaciones De La Cola

La cola se utiliza para administrar cualquier grupo de objetos en un orden de FIFO y otros elementos para su turno, como en los siguientes escenarios:
  1. Servir solicitudes en un solo recurso compartido, como una impresora, programación de tareas de CPU, copia de datos múltiples, etc.
  2. Utilizado en los sistemas telefónicos del Centro de llamadas, usa las colas para que las personas las llamen en un pedido hasta que un representante del servicio sea gratuito.
  3. Manejo de interrupciones en sistemas en tiempo real.

Implementación De La Cola Usando La Lista Enlazada (Código)

Se puede implementar una cola usando una matriz, pila o lista enlazada, pero la forma más fácil es el método de matriz. No nos preocupa la implementación del arreglo aquí, veremos la representación de la lista vinculada.
Código:
El algoritmo utilizado para implementar la cola mediante la lista enlazada es: Estaré almacenando una referencia en la parte delantera y trasera de la cola para que la puesta en cola y la salida de la cola se ejecuten en tiempo O (1) constante. Cada vez que quiero insertarlo en la cola, agrego el nuevo elemento al final de la lista enlazada y actualizo el puntero posterior . Cuando quiero sacar la cola, devuelvo el primer nodo de la lista enlazada y actualizo el puntero frontal .
Salida:
Aquí podemos ver que el primer elemento 'a' que se insertó primero también salió primero de la cola.