Si bien las colas pueden relacionarse con cualquier sistema fluido, las colas circulares y lineales se asocian con mayor frecuencia con el software y los sistemas informáticos. Entre estos dos tipos de colas hay diferencias estructurales y de rendimiento. Por ejemplo, al diseñar una granja de servidores web, un arquitecto de red puede necesitar decidir si el acceso debe manejarse en una cola circular o lineal. Esto afecta la forma en que se enruta el acceso a los servidores, así como la forma en que los servidores deben conectarse estructuralmente.
Ilustraciones de la vida real
Para comprender rápidamente la diferencia principal entre una cola lineal y una cola circular, considere un ejemplo de la vida real. Si un grupo de personas está esperando en la fila para sentarse en un restaurante, cuando una mesa está lista, las personas al frente de la fila se sientan y los recién llegados toman su lugar al final de la fila. Una cola circular es más como un juego de sillas musicales. Los recién llegados pueden ingresar en cualquier lugar donde haya espacio, siempre que haya una silla vacía.
Comparación de estructuras de cola
Una cola lineal es como una línea recta en la que todos los elementos o instrucciones pararse uno detrás del otro. Hay un comienzo definido y un final definido de la cola. Las tareas alineadas en este formato de cola se ejecutan en el orden de su colocación, en una base FIFO (Primero en entrar, primero en salir). Una cola circular tiene una estructura circular. El último elemento de esta cola está conectado con el primer elemento, completando así el círculo. Las tareas en este formato no se ejecutan esencialmente en el orden en que se envían.
Inserción y eliminación
En una cola lineal, se inserta una nueva tarea en el final de la lista, mientras que se realiza una eliminación al principio de la lista. Los extremos delantero y trasero son responsables de rastrear el estado de la cola. Una cola puede tener un número finito de elementos, que está predefinido. Cada nueva inserción debe pasar una prueba de "cola llena", y del mismo modo, antes de una eliminación, se debe pasar una prueba de "cola vacía". "Cola llena" verifica si hay espacio para la inserción, y "cola vacía" se asegura de que haya elementos en espera de ser eliminados y que la cola no esté vacía. En una cola circular, las inserciones y eliminaciones pueden ocurrir en cualquier posición de la cola y no necesariamente en un orden secuencial.
Costo y tiempo de mantenimiento
En una cola lineal , para una nueva inserción al final, debe haber un espacio vacío en el frente y todos los elementos intermedios deben moverse hacia arriba un espacio para crear una vacante para la nueva inserción. Cada vez que hay una nueva inserción, los pasos deben repetirse. La inserción y eliminación son, por lo tanto, dos pasos diferentes. Este enfoque es lento y computacionalmente costoso. Por otro lado, en una cola circular, la inserción y eliminación pueden ocurrir simultáneamente.
[¿Cuáles son las diferencias entre una cola circular y una cola lineal?] URL: http://www.ordenador.online/computadora/Software/253479.html