Estructuras de datos · Colas

FIFO / LIFO

Dos maneras simples de ordenar datos: por quién llegó primero, o por quién llegó último.

First In, First Out Last In, First Out
→← usa las flechas, o desliza para avanzar
Idea base

¿Qué es una cola de datos?

Es una lista de elementos ordenada, donde solo se puede agregar o quitar por los extremos. Nunca se toca el medio.

La diferencia entre los dos tipos está en quién sale primero:

FIFO

Sale primero el que entró primero. Como una fila de personas.

First In · First Out

LIFO

Sale primero el que entró último. Como una pila de platos.

Last In · First Out
FIFO

El primero en entrar, el primero en salir

Piensa en la fila del supermercado: quien llega primero, paga primero. Nadie se salta el orden.

← salidaentrada →
A
B
C
D
E
Los elementos avanzan en filasale primero A
FIFO · Operaciones

Solo dos acciones posibles

ENCOLAR (enqueue)

Agrega un elemento nuevo al final de la fila.

ABC ←D
entra por el final

DESENCOLAR (dequeue)

Quita el elemento que está al frente de la fila.

A → BC
sale por el frente
FIFO · Ejemplo

Paso a paso

Encolamos tres personas y luego atendemos a una.

AcciónCola resultante
encolar( A )[ A ]
encolar( B )[ A, B ]
encolar( C )[ A, B, C ]
desencolar()[ B, C ] sale A
LIFO

El último en entrar, el primero en salir

Piensa en una pila de platos: el último que pusiste arriba es el primero que sacas.

Pila
A
B
C
se apilan y se retiran siempre desde arriba
LIFO · Operaciones

También solo dos acciones

APILAR (push)

Pone un elemento nuevo arriba de todo.

D ↓ CBA
entra por arriba

DESAPILAR (pop)

Quita el elemento que está arriba de todo.

C ↑ BA
sale por arriba
LIFO · Ejemplo

Paso a paso

Apilamos tres platos y luego retiramos uno.

AcciónPila resultante
apilar( A )[ A ]
apilar( B )[ A, B ]
apilar( C )[ A, B, C ]
desapilar()[ A, B ] sale C
Comparación

FIFO vs. LIFO en una tabla

FIFOLIFO
Sale primeroEl que entró primeroEl que entró último
Ejemplo diarioFila del bancoPila de platos
Se agregaAl finalArriba
Se quitaAl frenteArriba
Uso típicoImpresoras, atención al clienteCtrl+Z, historial del navegador
Resumen

Para recordar

01

FIFO: el primero en entrar es el primero en salir. Como una fila.

02

LIFO: el último en entrar es el primero en salir. Como una pila.

03

Ambas estructuras solo permiten trabajar por los extremos, nunca desde el medio.