Saltar al contenido principal
Z

Stack vs Queue

Stack vs queue compared — LIFO vs FIFO, operations and use cases, with interactive visualizers for both.

A stack is last-in, first-out (LIFO); a queue is first-in, first-out (FIFO). Both add and remove in O(1) — the difference is which end you take from.

Stack vs Queue at a glance

Stack Queue
Order LIFO FIFO
Add / remove Same end (top) Opposite ends
Used in Undo, recursion, DFS Scheduling, buffering, BFS
Complexity O(1) O(1)

When to use Stack

Use a stack when the most recent item should be handled first — undo, call stacks, DFS.

When to use Queue

Use a queue when items should be handled in arrival order — task scheduling, BFS, buffers.

Tools for Stack & Queue

Stack vs Queue

¿Qué es una hash table?

Una hash table almacena pares clave/valor en un arreglo de buckets, usando una función hash para calcular el índice del bucket correspondiente a cada clave, lo que permite realizar inserciones, búsquedas y eliminaciones a una velocidad casi constante.

¿Qué es una colisión de hash (hash collision)?

Ocurre cuando dos claves distintas se hashean al mismo bucket. Esta herramienta resuelve las colisiones mediante separate chaining — cada bucket contiene una lista enlazada (linked list) de entradas.

¿Cuál es la complejidad temporal de las operaciones de una hash table?

En promedio es O(1) para insertar, buscar y eliminar. En el peor caso es O(n), cuando muchas claves colisionan en el mismo bucket.

¿Qué función hash usa esta herramienta?

Una función hash modular simple, index = value % 7, para que los buckets sean fáciles de seguir. Las hash tables reales usan funciones hash más robustas y se redimensionan automáticamente para mantener las cadenas cortas.