Actividad #3 - Pilas
En programación, una "pila" (o "stack" en inglés) es una estructura de datos que sigue el principio LIFO, que significa "Last In, First Out" (Último en entrar, primero en salir). Es como una pila de platos: el último plato que colocas en la cima es el primero que tomas cuando quitas los platos.
Aquí te explico algunos conceptos clave sobre las pilas:
Operaciones Básicas:
- Push: Añade un elemento a la cima de la pila.
- Pop: Elimina el elemento que está en la cima de la pila y lo devuelve.
- Peek o Top: Muestra el elemento en la cima de la pila sin eliminarlo.
- IsEmpty: Verifica si la pila está vacía.
Usos Comunes:
- Recursión: Las llamadas a funciones recursivas se manejan usando pilas, ya que cada llamada se apila y se desapila en el orden inverso en que fueron llamadas.
- Deshacer y rehacer: Las pilas son útiles en aplicaciones que permiten deshacer y rehacer acciones, como en editores de texto o software de diseño.
- Evaluación de Expresiones: En el análisis de expresiones matemáticas, las pilas se usan para evaluar expresiones en notación posfija (también conocida como notación polaca inversa).
Implementación:
- Arreglo: Puedes implementar una pila usando un arreglo, donde la cima de la pila es el último índice del arreglo que contiene un elemento.
- Lista enlazada: También puedes usar una lista enlazada, donde el nodo de la cima de la pila es el primer nodo de la lista.