¿Cuáles son las diferencias entre una Circular Queue &una cola Lineal

? Mientras colas pueden referirse a cualquier sistema de fluidos , colas circulares y lineales son más a menudo asociados con los sistemas de software y computación. Entre estos dos tipos de colas no son tanto las diferencias estructurales y de desempeño. Por ejemplo , en el diseño de un conjunto de servidores Web , un arquitecto de la red puede tener que decidir si el acceso debe ser manejado en una cola circular o una cola lineal. Esto afecta a cómo se direcciona el acceso a los servidores , así como la forma de los servidores deben estar conectados estructuralmente . La vida real Ilustraciones

Para comprender rápidamente la principal diferencia entre una cola lineal y una cola circular , considere un ejemplo real . Si un grupo de personas que están esperando en la cola para sentarse en un restaurante, cuando una mesa está lista, la gente en el frente de la línea se sientan y los recién llegados ocupan su lugar en la parte posterior de la línea. Una cola circular es más como un juego de sillas musicales . Los recién llegados pueden entrar en cualquier lugar hay espacio , siempre hay una silla vacía.
Comparar las estructuras de cola

Una cola lineal es como una línea recta en la que todos los elementos o instrucciones soportar una detrás de la otra . Hay un comienzo definido y un fin definido de la cola. Tareas alineados en este formato de colas se ejecutan en el orden de su colocación , de manera FIFO ( First In First Out ) . Una cola circular tiene una estructura circular . El último elemento de esta cola está conectada con el primer elemento , completando así el círculo . Las tareas en este formato no se ejecutan básicamente en el orden en que se envían .
Inserción y supresión

una cola lineal , una nueva tarea es insertada en el final de la lista , mientras que una deleción se hace en la parte delantera de la lista . Los extremos delantero y trasero son responsables para el seguimiento del estado de la cola . Una cola puede tener un número finito de elementos, que está predefinido . Cada nueva inserción debe aprobar una " cola llena " prueba , y del mismo modo , antes de una deleción , una " cola vacía " se debe pasar la prueba . " cola llena " comprueba si que hay espacio para la inserción , y " cola vacía " se asegura de que hay elementos en espera de ser borrada y la cola aún no está vacía. En una cola circular , inserciones y deleciones pueden ocurrir en cualquier posición en la cola , y no necesariamente en un orden secuencial.
Costo de mantenimiento y el tiempo

una cola lineal , para una nueva inserción al final , tiene que haber un espacio vacío en la parte delantera y todos los elementos intermedios deben subir un espacio para crear una vacante para la nueva inserción. Cada vez que hay una nueva inserción , los pasos tienen que repetirse. Inserción y eliminación son, pues, dos pasos diferentes . Este enfoque es que consume tiempo y computacionalmente caro . Por otro lado , en una cola circular, inserción y eliminación pueden ocurrir simultáneamente.