Ответ
Очередь (Queue) — это абстрактный тип данных, работающий по принципу FIFO (First-In, First-Out): первый добавленный элемент будет первым извлечённым. Основные операции: enqueue (добавить в конец) и dequeue (удалить из начала).
Реализация в PHP:
-
Использование встроенного класса
SplQueue:$queue = new SplQueue(); $queue->enqueue('A'); // Очередь: [A] $queue->enqueue('B'); // Очередь: [A, B] echo $queue->dequeue(); // Выведет 'A', очередь: [B] echo $queue->bottom(); // Показать первый элемент без удаления: 'B' -
Реализация на массивах:
$queue = []; array_push($queue, 'A'); // enqueue array_push($queue, 'B'); $first = array_shift($queue); // dequeue -> 'A'
Области применения в разработке:
- Алгоритмы: Обход графа в ширину (BFS).
- Обработка задач: Управление порядком выполнения фоновых задач.
- Буферизация: Сглаживание нагрузки между быстрым производителем и медленным потребителем данных.
Сложность операций в эффективной реализации должна быть O(1) для enqueue и dequeue.
Видео-ответы
▶
▶
▶
▶
▶
▶