¿Qué es una cola/queue?

Una cola, también conocida como queue, es una estructura de datos muy similar al stack. La principal diferencia con un stack se encuentra en el tipo de arquitectura utilizada. Mientras que una pila utiliza una arquitectura de tipo LIFO (Last In – First Out), una cola utiliza una arquitectura de tipo FIFO (First In – First Out).

Utilizar una arquitectura de tipo FIFO implica que el primer elemento en entrar en esta estructura de datos será el primero en salir. Es decir, los datos van a salir en el mismo orden en el que han sido introducidos. Así pues, para entender el funcionamiento de una cola, piensa en la cola que tienes que hacer para comprar en el supermercado. Una vez quieres pasar por caja te pones el último en la fila y hasta que todas las personas que están delante (por haber llegado antes) no han sido atendidas, tú no vas a ser atendido. Del mismo modo, una vez que un elemento ha sido introducido, hasta que todos los elementos que tenga delante no hayan sido sacados de la cola, este elemento no podrá ser expulsado.

Por otro lado, en cuanto a las operaciones que podemos realizar con una cola, son exactamente idénticas a las que podemos hacer con un stack. Al fin y al cabo, la única diferencia con una pila se encuentra en la manera que tienen de almacenar los datos: o bien se utiliza una arquitectura LIFO o bien se utiliza un arquitectura FIFO).

Cola/Queue

Por último, es importante señalar que existen diferentes tipos de colas. El uso de un tipo u otro dependerá de nuestro programa. No obstante, es importante destacar que una cola puede tener variantes mientras que un stack no, siempre se va a comportar de la misma manera. De este modo, los diferentes tipos de colas que podemos encontrar son:

  • Colas circulares: el primer y último elemento están unidos.
  • Colas de prioridad: los elementos son tratados en función de su prioridad. Si dos elementos tienen la misma prioridad, prevalece el uso normal de la cola.
  • Bicolas: los elementos pueden añadirse y eliminarse tanto por el principio como por el final.
  • Bicolas de entrada restringida: la inserción se realiza por el final, mientras que la salida puede ser por el principio o el final.
  • Bicolas de salida restringida: la salida solo se realiza por el final, mientras que la entrada puede ser tanto por el principio como por el final.

Para seguir aprendiendo…

InformaticaUV: Tema 12: Colas

MiguelEstructura: que son las colas en la estructura de datos

GadgetInfo: Diferencia entre la pila y la cola

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: