Saltar al contenido principal
Data structures, algorithms, and the core CS foundations — plus an optional advanced track for expert topics.

Core Computer Science

Data structures, algorithms, and the core CS foundations — plus an optional advanced track for expert topics.

Stack & Queue Visualizer

Stack

100ms
Step Progress 0 / 0
Size 0
Status Ready
Element
Active
Front
Rear
Step Explanation

Select an operation to begin.

Pseudocode
 

Stack & Queue

Beginner (1/5) ~45 minutos Stack: LIFO (Last In, First Out) Queue: FIFO (First In, First Out) Array-backed vs linked-backed Applications y casos de uso Prereqs: Arrays y Linked Lists

Stack y Queue son estructuras de datos abstractas que definen restricciones sobre el orden de acceso:

  • Stack (pila): LIFO — Last In, First Out. El último elemento añadido es el primero en salir.
  • Queue (cola): FIFO — First In, First Out. El primer elemento añadido es el primero en salir.

Son las estructuras más fundamentales después de arrays y linked lists, con aplicaciones en parsing, scheduling, BFS, y más.

Stack (Pila)

Operaciones:

  • Push(x): añade x al top.
  • Pop(): elimina y retorna el top.
  • Peek(): retorna el top sin eliminarlo.
  • isEmpty(): ¿la pila está vacía?

Implementación: array-backed (push/pop en el final) o linked-backed (push/pop en head).

Queue (Cola)

Operaciones:

  • Enqueue(x): añade x al rear.
  • Dequeue(): elimina y retorna el front.
  • Front(): retorna el front sin eliminarlo.
  • isEmpty(): ¿la cola está vacía?

Implementación: array-backed con circular buffer o linked-backed (enqueue en tail, dequeue en head).

Deque (Double-Ended Queue)

Permite inserción/eliminación en ambos extremos. Combinación de stack y queue. Operaciones: push_front, push_back, pop_front, pop_back.

Comparación

EstructuraOrdenAccesoAplicaciones
StackLIFOSolo topUndo, parsing, DFS
QueueFIFOSolo extremosBFS, scheduling, buffers
DequeDoble extremoAmbos extremosSliding window, palíndromos

Aplicaciones

  • Function call stack — recursion, expression evaluation
  • Undo/Redo — stack de estados previos
  • BFS — queue de nodos por explorar
  • CPU scheduling — round-robin, FCFS
  • Sliding window — deque para máximo en ventana móvil

Casos Extremos

  • Stack overflow — recursión profunda sin tail-call optimization
  • Queue overflow — buffer circular sin espacio
  • Empty structure — pop/dequeue en estructura vacía es error
  • Thread safety — stacks y queues necesitan locks en concurrencia

Trayectoria de Práctica

  1. Implementa stack con array; prueba push/pop/peek.
  2. Implementa queue con linked list; prueba enqueue/dequeue.
  3. Implementa validación de paréntesis con stack.
  4. Implementa BFS con queue.
  5. Investiga deque: ¿cómo resuelve sliding window máximo?