Circular Queue es una estructura de datos lineal que sigue el principio FIFO (primero en entrar, primero en salir), lo que significa que el elemento que se inserta primero en la cola se sacará primero. También se conoce como búfer circular/en anillo porque la última posición de la cola se gira hacia atrás y se conecta con el primer elemento, formando así una estructura circular.
Operaciones en una cola circular:
Las siguientes son las operaciones que se pueden realizar en una cola circular.
- en cola()
- quitar cola()
- frente()
- trasero()
1. poner en cola():
enQueue se utiliza para insertar un elemento en la cola. El nuevo elemento se insertará desde atrás solo si hay espacio disponible en la cola.
2. quitar cola():
deQueue se utiliza para eliminar un elemento de la cola. Un elemento se eliminará del principio de una cola solo si hay al menos un elemento en la cola.
3. frente():
front() se usa para recuperar el elemento al principio de la cola.
4. trasero():
rear() se usa para recuperar el elemento al final de la cola.
Para obtener más detalles sobre las operaciones y su implementación, consulte el artículo sobre » Cola circular «.
Aplicaciones de la cola circular:
- En un algoritmo de reemplazo de página, se mantiene una lista circular de páginas y cuando una página necesita ser reemplazada, se elegirá la página al frente de la cola.
- Los sistemas informáticos proporcionan un área de espera para mantener la comunicación entre dos procesos o dos programas. Esta área de memoria también se conoce como búfer circular.
- Programación de CPU: en el algoritmo de programación Round-Robin, se utiliza una cola circular para mantener los procesos que están listos.
Aplicaciones en tiempo real de Circular Queue:
- Meses del año: Ene – Feb – March – y así sucesivamente hasta Dic – Ene – . . .
- Alimentación: Desayuno – almuerzo – meriendas – cena – desayuno – . . .
- Traffic Light es también una aplicación en tiempo real de cola circular.
Ventajas de la cola circular:
- Proporciona una forma rápida de almacenar datos FIFO con un tamaño máximo.
- Utilización eficiente de la memoria.
- No utiliza memoria dinámica.
- Implementación sencilla.
- Todas las operaciones ocurren en tiempo constante O(1).
Desventajas de la cola circular:
- En una cola circular, la cantidad de elementos que puede almacenar es solo la longitud de la cola, debe saber el tamaño máximo de antemano.