2009-05-28 14 views
6

Qual è il nome corretto per la seguente struttura di dati? Si tratta di:Qual è il termine corretto per una coda FIFO di dimensioni fisse?

  • Una coda di dimensioni fisse
  • Nuovi elementi vengono aggiunti alla partenza
  • Ogni volta che la coda ottiene di sopra di una certa dimensione di un numero di elementi vengono rimossi dalla fine
+0

Quindi il punto è che gli elementi vengono rimossi come batch anziché uno per uno? – Vizu

+0

Hai già creato la suddetta struttura dati e stai solo cercando di trovare un nome adatto? – Xiaofu

+0

@Vizu: Sì, altrimenti sarebbe un buffer circolare standard. –

risposta

1

Penso che possa dipendere dall'attuale implementazione di questo. Un esempio pratico di ciò che viene descritto è lo Circular Buffer o il Ring Buffer in cui i dati più vecchi vengono sovrascritti dai nuovi dati quando il buffer è pieno. Questo sarebbe uno dei modi tradizionali di implementare tale struttura dati in qualcosa come C.

MODIFICA: Ok, quindi il buffer circolare non si adatta perfettamente. Che ne dite di Finite Buffer Queue, o Finite Capacity Queue? Ma quelli in realtà non coprono l'aspetto auto-limitante ...

Coda Bratt a capacità finita auto-limitante.

Auto-popping ...

Il mio punto è che io non credo che ci sia un nome ufficiale per una struttura di dati con i esatte proprietà che hai citato, così si potrebbe anche fare uno su base sulla struttura dei dati che più gli assomiglia, forse combinata con alcune proprietà uniche della tua struttura. Probabilmente sarà piuttosto prolisso ...

MODIFICA: O forse è un Cyclic Queue. L'articolo lo descrive come:

questo articolo descrive una coda simile a System.Collections.Queue, tranne che ha> una dimensione di buffer fissa. Ciò significa, ovviamente, che il buffer non può essere abbastanza grande da contenere tutti gli elementi aggiunti alla coda, nel qual caso gli elementi più vecchi vengono eliminati.

... che suona molto simile al tuo. Bello e conciso anche.

1
+0

Penso che potresti avere ragione anche se la capacità varia leggermente e un buffer circolare ha una capacità fissa. –

2

"una coda FIFO di dimensioni fisso"

volte tampone, a volte buffer circolare (come quello è come è normalmente implementato). Non sono a conoscenza di nulla che denoti la strategia per la rimozione di articoli in lotti, sebbene non sia raro.

0

Nei sistemi embedded, questo è quasi universalmente indicato come buffer circolare.

Problemi correlati