Queue
FácilPrioritaria
Estructura FIFO (First In First Out) con operaciones enqueue y dequeue.
¿Qué es una Queue?
Una Queue es una estructura de datos lineal donde los elementos se insertan por un extremo (final) y se eliminan por el otro (inicio). Este comportamiento se conoce como FIFO (First In, First Out).
Analogía del Mundo Real
Imagina una fila en una cafetería. El primer cliente en llegar es el primero en ser atendido. Los nuevos clientes se forman al final y esperan su turno. Así funciona una Queue.
Cómo Funciona Internamente una Queue
- La estructura mantiene referencias al inicio y al final.
- Enqueue agrega un elemento al final de la cola.
- Dequeue elimina y retorna el elemento del inicio.
- Peek muestra el valor del frente sin removerlo.
- Se puede implementar con arrays, listas enlazadas o estructuras circulares.
Ejemplos de Código
// Queue implementation using array
class Queue {
constructor() {
this.items = [];
}
enqueue(item) {
this.items.push(item);
}
dequeue() {
return this.items.shift();
}
peek() {
return this.items[0];
}
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 la cola.
Las operaciones enqueue y dequeue son eficientes porque solo afectan los extremos de la cola.
Operaciones Comunes
- .enqueue(value)Agrega un elemento al final de la cola
- .dequeue()Elimina y retorna el primer elemento
- .peek()Retorna el primer elemento sin eliminarlo
- .isEmpty()Verifica si la cola está vacía
- .size()Retorna el número de elementos en la cola
Practica
Aplica lo que has aprendido