Sobes.tech
Back to questions
Junior — Middle
63

Объясните различия между структурой данных стек и структурой данных очередь

Answer from AI

sobes.tech AI

Стек (stack) и очередь (queue) — это структуры данных, которые отличаются порядком обработки элементов:

  • Стек работает по принципу LIFO (Last In, First Out) — последний добавленный элемент извлекается первым. Представьте стопку тарелок: вы берёте верхнюю тарелку, которая была положена последней.

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

В Python стек можно реализовать с помощью списка, используя методы append() для добавления и pop() для удаления с конца:

stack = []
stack.append(1)  # добавить элемент
stack.append(2)
print(stack.pop())  # извлечь последний добавленный элемент, выведет 2

Очередь можно реализовать с помощью collections.deque, который эффективен для добавления и удаления элементов с обоих концов:

from collections import deque
queue = deque()
queue.append(1)  # добавить элемент в конец
queue.append(2)
print(queue.popleft())  # извлечь первый добавленный элемент, выведет 1