? Mentre code possono riguardare qualsiasi sistema fluido , le code circolari e lineari sono più spesso associati a sistemi di software e computer . Tra questi due tipi di code ci sono sia differenze strutturali e di prestazioni . Ad esempio , quando si progetta un server Web farm , un architetto di rete può avere bisogno per decidere se l’accesso deve essere maneggiato in una coda circolare o una coda lineare. Questo influisce viene instradato accesso ai server , e come i server dovrebbero essere collegati strutturalmente . Real- life Illustrazioni

Per capire rapidamente la differenza principale tra una coda lineare e una coda circolare , si consideri un esempio di vita reale . Se un gruppo di persone che sono in attesa in fila per essere seduti in un ristorante , quando il tavolo è pronto , le persone al fronte della linea sedersi e nuovi arrivati ​​prendono il loro posto sul retro della linea. Una coda circolare è più simile a un gioco delle sedie musicali . I nuovi arrivati ​​possono entrare ovunque ci sia spazio , purché vi sia una sedia vuota .

Confrontando Strutture coda

Una coda lineare è come una linea retta in cui tutti gli elementi o le istruzioni stare uno dietro l’altro . C’è un inizio definito e una fine definita della coda . Compiti allineati in questo formato coda vengono eseguiti nell’ordine della loro collocazione , su base FIFO ( First In First Out ) . Una coda circolare ha una struttura circolare . L’ultimo elemento di questa coda è collegato con il primo elemento , completando così il cerchio . Compiti in questo formato non sono essenzialmente eseguite nell’ordine in cui vengono inviati .

Inserimento e cancellazione

una coda lineare , una nuova attività è inseriti alla fine della lista , mentre Cancellandolo nella parte anteriore della lista . Le estremità anteriori e posteriori sono responsabili per il monitoraggio dello stato della coda . Una coda può avere un numero finito di elementi , predefinita . Ogni nuovo inserimento deve passare una ” coda piena” prova , e allo stesso modo , prima di una delezione , una ” coda vuota ” prova deve essere trasmesso . ” coda piena ” che controlla se vi è spazio per l’inserimento , e ” coda vuota ” fa che non ci sono elementi in attesa di essere eliminato e la coda già non è vuoto . In una coda circolare , inserimenti ed eliminazioni possono accadere in qualsiasi posizione nella coda e non necessariamente in un ordine sequenziale .

Costi di manutenzione e ora

una coda lineare per un nuovo inserimento alla fine , vi deve essere uno spazio vuoto nella parte anteriore e tutti gli elementi intermedi deve muovere di uno spazio per creare una vacante per il nuovo inserimento . Ogni volta che c’è un nuovo inserimento , la procedura deve essere ripetuta. Inserimento e cancellazione sono quindi due fasi differenti . Questo approccio richiede molto tempo e risorse di calcolo . D’altra parte , in una coda circolare , inserimento e cancellazione possono accadere simultaneamente .