Объясните различия между структурой данных стек и структурой данных очередь
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