First in, first out

«Primero en entrar, primero en salir» (en inglés first in, first out o FIFO) es un concepto utilizado en estructuras de datos, contabilidad de costes y teoría de colas. Guarda analogía con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que "la primera persona que entra es la primera persona que sale".

También se le denomina «primero en llegar, primero en ser atendido» (del inglés first come, first served o FCFS).

Informática

Esquema de funcionamiento de una cola FIFO.

En informática, FIFO se utiliza en estructuras de datos para implementar colas. La implementación puede efectuarse con ayuda de arreglos o vectores, o bien mediante el uso de punteros y asignación dinámica de memoria.

Si se implementa mediante vectores, el número máximo de elementos que puede almacenar FIFO está limitado al que se haya establecido en el código del programa antes de la compilación (cola estática) o durante su ejecución (cola pseudoestática o dinámica). Sea cual sea la opción elegida, el número de elementos que podrá almacenar la cola quedará determinado durante toda la ejecución del programa. Así, el sistema debe reservar el tamaño de memoria necesario para acoger todos los datos, sea cual sea el número de elementos usados.

En algunas aplicaciones, esto supone un problema ya que puede desconocerse el número de elementos a contener en la cola. La sencilla solución de reservar más memoria de la que se supone que se necesitará, puede conducir a un despilfarro de la memoria (la cola puede que esté llena, aprovechando toda la memoria reservada; o bien, nunca terminar de llenarse, ocupando recursos innecesarios en memoria). Sin embargo, si se usa asignación dinámica de memoria, el número máximo no está declarado en tiempo de compilación sino en tiempo de ejecución, es decir, se reserva memoria a medida que se necesite expandir el tamaño de la cola (adaptándose al tamaño necesario en cada momento en función de los elementos que hay en la cola), haciendo un mejor uso de la memoria disponible.

Uno de los usos de las colas es la exploración ‘en anchura’ de un árbol binario de búsqueda. Otro uso típico de las colas, es la gestión de descargas de una aplicación peer-to-peer (P2P).

Other Languages
català: FIFO
čeština: Metoda FIFO
euskara: FIFO
Bahasa Indonesia: FIFO
íslenska: FIFO
italiano: FIFO
日本語: FIFO
한국어: 선입 선출
lietuvių: FIFO
latviešu: FIFO
македонски: FIFO
Nederlands: Fifo
português: FIFO
русский: FIFO