Colas en Python- Ejemplo Queue

Las colas en nuestros sistemas son fundamentales para manejar procesos y nos ayudan a ordenar los datos de tal forma que sea mas fácil procesarlos y trasmitir información de un lugar a otro.

Las colas funcionan muy similar a como funcionan las listas, estas se componen de el ya clásico nodo y de dos métodos principales, los cuales son Enqueue que se encarga de encolar información, y el método Dequeue el cual se encarga de sacar la información de la cola y borrarla.

Nodo

El nodo donde se almacena la cola esta compuesto de los atributos, data que contiene la información, y next que contiene el puntero del nodo siguiente a continuación puedes observarlo.

Metodo Enqueue

La cola tiene solo 1 atributo llamado head de tipo Node

El método enqueue recibe como parámetro un parámetro data que sirve para crear un nuevo nodo, cuando head esta vació el nuevo nodo queda como head, si no esta vació la lista se recorre hasta el final por medio de una iteración y el nuevo nodo se coloca al final.

La complejidad del algoritmo de inserción es de O(n)

Metodo Dequeue

El método dequeue  consiste en retornar el valor del primer nodo y eliminarlo, esto se consigue colocando el atriburo head de la cola como el nodo siguiente como se puede ver en el ejemplo

La complejidad del algoritmo dequeue es de O(1)

Recuerda que puedes colaborar en el repositorio para agregarle funcionalidades nuevas, también puedes descargar el repo y utilizarlas en tu proyecto

El archivo utilizado en esta entrada lo puedes encontrar aqui.