Встречается на собеседованиях • сегодня

Как ускорить очередь, сделанную через список, в Python

Используйте collections.deque вместо списка для очереди. deque оптимизирован для быстрых операций добавления/удаления с обоих концов (O(1)), тогда как у списка операции с начала имеют сложность O(n).

Пример:

python
from collections import deque

queue = deque()
queue.append(1)  # добавление в конец
queue.append(2)
queue.popleft()  # удаление из начала (быстро)

Почему быстрее:

  • deque реализован как двусвязный список, а список Python — как динамический массив.
  • Для частых операций appendleft/popleft разница будет значительной.

Если нужна потокобезопасность — используйте queue.Queue.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы