Búfer de anillo

Definición: ¿Qué significa Ring Buffer?

Un búfer de anillo es una estructura de datos que se trata como circular, aunque su implementación es lineal. Normalmente, se utiliza un búfer circular como cola de datos. Un búfer circular es una forma popular de implementar un flujo de datos porque el código puede ser compacto.

Un búfer de anillo también se conoce como búfer circular, cola circular o búfer cíclico.

Techinfo explica Ring Buffer

Un búfer de anillo es una implementación común de una cola. Es popular porque las colas circulares son fáciles de implementar. Mientras que un búfer de anillo se representa como un círculo, en el código subyacente, un búfer de anillo es lineal. Un búfer de anillo existe como una matriz de longitud fija con dos punteros: uno que representa la cabeza de una cola y otro que representa la cola. En una cola, los elementos se agregan al final de la cola en forma de "FIFO" (primero en entrar, primero en salir). Los primeros elementos de la cola se eliminan del encabezado en el orden en que se agregaron. Cuando el puntero principal llega al final de la matriz, se desplaza hasta el primer elemento de la matriz. Todos los datos del búfer se sobrescriben. El encabezado de la cola es diferente del primer elemento de la matriz real y ambos punteros se mueven a medida que se agregan y eliminan elementos.

Una desventaja de un búfer de anillo es su tamaño fijo. Para las colas donde los elementos deben agregarse y eliminarse en el medio, no solo al principio y al final de un búfer, una implementación como una lista vinculada es el enfoque preferido.