Unidad 1: Pilas - Estructura de Datos

Introducción a la Lógica

Lic. Diego Medardo Saavedra García Mg. Sc.

2023-05-19

Pilas

Introducción a Pilas

  • Las Pilas son una estructura de datos lineal.
  • Siguen el principio de LIFO (Last In, First Out).
  • Útiles para llevar un seguimiento ordenado de elementos.

¿Cómo funcionan las Pilas?

  • Imagina una pila de platos: el último plato apilado es el primero en ser retirado.
  • Elementos se agregan y eliminan por un extremo, llamado “tope” de la pila.
  • Acceso rápido al elemento más reciente y operaciones en orden inverso.

Implementación en C++

#include <iostream>
#include <stack>

int main() {
    std::stack<int> pila;

    pila.push(10);
    pila.push(20);
    pila.push(30);

    while (!pila.empty()) {
        std::cout << pila.top() << " ";
        pila.pop();
    }

    return 0;
}

Implementación en Python

30 20 10 

Implementación en Java.

import java.util.Stack;

public class PilaExample {
    public static void main(String[] args) {
        Stack<Integer> pila = new Stack<>();

        pila.push(10);
        pila.push(20);
        pila.push(30);

        while (!pila.empty()) {
            System.out.print(pila.peek() + " ");
            pila.pop();
        }
    }
}

Ejercicios con Pilas

  1. Verificar si una expresión de paréntesis está balanceada.
  2. Convertir un número decimal a binario.
  3. Revertir el contenido de una pila.
  4. Evaluar una expresión postfija.
  5. Implementar una pila con capacidad limitada.

Conclusión.

  • Las Pilas son una estructura de datos importante en Estructura de Datos.
  • Útiles para aplicaciones como verificación de balanceo de paréntesis y conversiones de números.
  • Permite un acceso rápido al elemento más reciente y operaciones en orden inverso.

¡Gracias por su atención!

Bibliografía

  • Libro:

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). The MIT Press.

  • Artículos:

Smith, J. (2018). Stack Data Structure: Explained with Examples. Towards Data Science. https://towardsdatascience.com/stack-data-structure-explained-with-examples-3c669960b574

Gupta, S. (2020). Postfix to Infix Expression Conversion Using Stack. GeeksforGeeks. https://www.geeksforgeeks.org/postfix-to-infix/

  • Sitios web:

Tutorialspoint. (s. f.). Data Structures and Algorithms - Stack. Recuperado el 19 de mayo de 2023, de https://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm

W3schools. (s. f.). Python Lists. Recuperado el 19 de mayo de 2023, de https://www.w3schools.com/python/python_lists.asp