2009-05-28 7 views
6

¿Cuál es el nombre correcto para la siguiente estructura de datos? Es:¿Cuál es el término correcto para una cola FIFO de tamaño fijo?

  • Una cola de tamaño fijo se añaden
  • nuevos elementos al inicio
  • Siempre que la cola se pone por encima de un cierto tamaño una serie de elementos se eliminan del extremo
+0

Entonces, ¿el punto es que los elementos se eliminan como lotes en lugar de uno por uno? – Vizu

+0

¿Ya ha creado dicha estructura de datos y solo está tratando de encontrar un nombre adecuado para ella? – Xiaofu

+0

@Vizu: Sí, de lo contrario sería un buffer circular estándar. –

Respuesta

1

Creo que puede depender de la implementación real de esto. Un ejemplo práctico de lo que describes es Circular Buffer o Ring Buffer, donde los datos más antiguos se sobrescriben con los nuevos datos una vez que el buffer está lleno. Esta sería una de las formas tradicionales de implementar dicha estructura de datos en algo como C.

EDITAR: Bien, entonces el Buffer circular no encaja del todo. ¿Qué hay de Finite Buffer Queue, o Cola de capacidad finita? Pero esos realmente no cubren el aspecto de autolimitación ...

Capacidad finita autolimitada Bratt Queue.

Auto-saltan ...

Mi punto es que no creo que hay un nombre oficial para una estructura de datos con los exactas propiedades que usted menciona, por lo que también podría hacer una comparación basada en la estructura de datos que más se parece a ella, tal vez combinada con algunas de las propiedades únicas de su estructura. Sin embargo, probablemente va a ser bastante prolijo ...

EDIT: O tal vez es un Cyclic Queue. El artículo lo describe como:

este artículo describe una cola similar a System.Collections.Queue, excepto que tiene> un tamaño de búfer fijo. Esto significa, por supuesto, que el búfer no puede ser lo suficientemente grande como para contener todos los elementos agregados a la cola, en cuyo caso se abandonan los artículos más antiguos.

... que suena muy parecido al tuyo. Agradable y conciso también.

1
+0

Creo que puede tener razón, aunque la capacidad varía un poco y un buffer circular tiene una capacidad fija. –

2

"un tamaño fijo cola FIFO"

veces tampón, a veces búfer de anillo (como así es como se implementa normalmente). No conozco nada que denote tu estrategia para eliminar elementos en lotes, aunque no es raro.

0

En sistemas integrados, esto se conoce casi universalmente como búferes circulares.

Cuestiones relacionadas