Junior
50
questionbank

Что вы знаете о структуре данных 'очередь'?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Очередь (Queue) — это линейная структура данных, работающая по принципу FIFO (First-In, First-Out): первым вошедший элемент первым и выходит.

Основные операции:

  • put/enqueue: добавление элемента в конец очереди.
  • get/dequeue: удаление и возврат элемента из начала очереди.
  • peek/front: просмотр элемента в начале очереди без удаления.
  • is_empty: проверка, пуста ли очередь.
  • size: получение текущего количества элементов.

Реализации в Python:

  • list: Простая, но неэффективна при частых операциях pop(0) (сдвиг элементов).
  • collections.deque: Двусторонняя очередь, оптимизированная для добавления/удаления с обоих концов, эффективно используется как обычная очередь.
  • queue.Queue: Потокобезопасная реализация, удобна для обмена данными между потоками.

Примеры использования collections.deque:

python

Примеры использования queue.Queue:

python

Применяется в задачах:

  • Планирование задач (scheduler).
  • FIFO-буферы.
  • Алгоритмы обхода графов (BFS - Breadth-First Search).
  • Обработка запросов (например, в веб-сервере).
  • Потокобезопасное взаимодействие между потоками (с queue.Queue).