Очередь (Queue)
Структура данных «первым пришёл — первым вышел» (FIFO), как очередь в магазине.
Как работает очередь
В очередь элементы добавляются в «хвост» (enqueue), а забираются из «головы» (dequeue). Тот, кто пришёл раньше всех, выйдет первым.
Основные операции:
- enqueue — добавить элемент в конец;
- dequeue — забрать элемент из начала;
- front — посмотреть первый элемент.
Плюсы
- Простая и быстрая структура данных;
- Все основные операции занимают O(1);
- Используется в BFS, системах очередей задач, обработке запросов.
Минусы
- Нельзя быстро получить произвольный элемент по индексу;
- Нужны дополнительные структуры (кольцевая очередь и др.) для оптимизаций.
Пример реализации очереди
class Queue {
constructor() {
this.items = [];
}
enqueue(x) {
this.items.push(x);
}
dequeue() {
return this.items.length ? this.items.shift() : null;
}
front() {
return this.items.length ? this.items[0] : null;
}
}Попробуй самостоятельно написать алгоритм, а затем сравнить
Полезные темы
Рекомендуем изучить эти темы для лучшего понимания