Overview
Una pila es una colección LIFO (último en entrar, primero en salir). Las operaciones push y pop trabajan en el tope.
Analogy
Como una pila de platos: siempre añades y quitas del tope. El último plato puesto es el primero en ser usado.
Step-by-step
- Usa una lista de Python como pila
- push: lista.append(elemento)
- pop: lista.pop() devuelve y elimina el tope
- peek: lista[-1] ve el tope sin eliminar
Visual
pila = []
pila.append(1) # [1]
pila.append(2) # [1,2]
pila.pop() # devuelve 2, pila=[1]
Common mistakes
- pop() en pila vacía → IndexError
- Usar insert(0,x) en lugar de append — O(n) vs O(1)
Practice questions
- Comprueba paréntesis válidos con pila
- Evalúa expresión postfija (notación polaca inversa)
Time
O(1) push y pop amortizado
Space
O(n) — para n elementos