Встречается на собеседованиях • сегодня
Почему очередь, сделанная через список, медленно работает в Python
Очередь через список (list) медленная, потому что операции pop(0) и insert(0, ...) имеют сложность O(n). При удалении или вставке элемента в начало списка Python вынужден сдвигать все остальные элементы, что сильно замедляет работу при больших объемах данных.
Пример:
python
queue = []
queue.append(1) # O(1) – в конец
queue.pop(0) # O(n) – удаление из началаРешение:
Используйте collections.deque – он оптимизирован для операций с обоих концов (popleft() и appendleft() работают за O(1)):
python
from collections import deque
queue = deque()
queue.append(1) # O(1)
queue.popleft() # O(1)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы