Pilas (stacks)
Último en entrar, primero en salir. Solo tocas el tope.
La restricción es la funcionalidad.
Tres operaciones, todas O(1)
- push — agrega al tope
- pop — quita el tope (lanza error si está vacío)
- peek — lee el tope
- Sin búsquedas, sin desplazamientos, sin acceso aleatorio
Míralo emparejar brackets
Push al abrir, pop al cerrar, balanceado si y solo si el stack termina vacío.
Desde cero vs librería
Todo O(1) por operación. Nuestro Stack ≈1.7× la list — solo envuelve list.append.
Dónde te lo encuentras
- Undo/redo, el botón de atrás del navegador
- Parseo de expresiones, emparejar brackets
- Búsqueda en profundidad (DFS)
- El call stack — cada programa que corres
Conclusión
LIFO en una sola estructura. Barato, y exactamente el orden
que necesita el trabajo de "lo más nuevo primero, luego deshaz".
Sigue: la imagen en el espejo — queues (FIFO).