Stack
FácilPrioritaria
Estructura LIFO (Last In First Out) con operaciones push y pop.
¿Qué es un Stack?
Un Stack es una estructura de datos que funciona como una pila de platos: el último plato que colocas es el primero que tomas. Solo puedes insertar (push) o eliminar (pop) elementos desde el tope. Este comportamiento se conoce como LIFO (Last In, First Out).
Analogía del Mundo Real
Piensa en una pila de libros. Colocas los libros uno sobre otro. Para sacar el libro que está más abajo, primero tienes que quitar los que están encima. Así funciona un Stack: el último en entrar es el primero en salir.
Cómo Funciona Internamente un Stack
- La estructura mantiene una referencia al tope.
- Push agrega un elemento en la cima.
- Pop elimina y retorna el elemento superior.
- Peek retorna el valor del tope sin eliminarlo.
- Las implementaciones pueden hacerse con arrays o listas enlazadas.
Ejemplos de Código
// Stack implementation using JavaScript array
class Stack {
constructor() {
this.items = [];
}
push(item) {
this.items.push(item);
}
pop() {
return this.items.pop();
}
peek() {
return this.items[this.items.length - 1];
}
isEmpty() {
return this.items.length === 0;
}
size() {
return this.items.length;
}
}
Explicación Visual (🚧 En progreso)
Pronto disponible
Estamos trabajando en un video para explicar esta estructura de datos
Complejidad en Tiempo y Espacio
Operación | Promedio | Peor Escenario |
---|---|---|
Acceso | O(n) | O(n) |
Búsqueda | O(n) | O(n) |
Inserción | O(1) | O(1) |
Eliminación | O(1) | O(1) |
Donde n es el número de elementos en el stack.
Las operaciones push y pop son muy eficientes ya que solo afectan el tope de la pila.
Operaciones Comunes
- .push(value)Agrega un valor en el tope del stack
- .pop()Remueve y retorna el valor del tope
- .peek()Retorna el valor del tope sin removerlo
- .isEmpty()Verifica si el stack está vacío
- .size()Retorna el número de elementos en el stack
Practica
Aplica lo que has aprendido