Estructuras de Datos con código [1/6]: Colas

¿Qué es una cola?
Una cola es una estructura de datos que se utiliza para almacenar datos (similar a las Pilas y Listas Ligadas). En la cola, el orden en el que llega un nuevo elemento es importante.
Una cola es una lista ordenada en la que las inserciones se realizan en un extremo (posterior) y las eliminaciones en el otro extremo (frontal). El primer elemento que se inserta es el primero que se elimina. Por lo tanto, se le denomina estructura de tipo de Primeras Entradas, Primeras Salidas (del inglés FIFO, First In, First Out) o también de tipo Último en entrar, último en salir (LILO, Last In, Last Out).
Por ejemplo, si nuestros laboratorios para hackers ultra experimentados tienen 30 computadoras conectadas en red con una sola impresora. Cuando ellos quieran imprimir, sus tareas de impresión “se alinean” con todas las demás tareas de impresión que se están esperando (quedamos que eran hackers no que eran ricos). La primera tarea en espera en la cola es la que se completa primero.

Aplicaciones de las colas:

  • Cuando un recurso se comparte entre varios consumidores. Los ejemplos incluyen programación de CPU, programación de disco.
  • Cuando los datos se transfieren de forma asincrónica (los datos no se reciben necesariamente a la misma velocidad que se envían) entre dos procesos. Los ejemplos incluyen Buffers de entrada-salida, pipe de datos, lectura y escritura de archivos, etc.
  • Teclado: a medida que escribimos, a veces las pulsaciones de teclas se adelantan a los caracteres que aparecen en la pantalla, aunque es dificil que lo notemos si ocurre aunque sea en fracciones de segundo. Esto se debe a que la computadora está haciendo otro trabajo en ese momento. Las pulsaciones de teclas se colocan en un búfer similar a una cola para que eventualmente puedan mostrarse en la pantalla en el orden correcto sni rerores.

Importante, este material forma parte de nuestro curso “Estructuras de datos con Python” para mayor información accede al contenido completo del curso aquí
Si este material te resulta demasiado avanzado, tal vez quieras descargar primero nuestro manual gratuito de programación con Python, haciendo click aquí

 

Ejemplo en código: