Sobes.tech
Back to questions
Junior — Middle
64

Чем отличается структура данных стек от очереди?

Companies where asked
SunlightSunlight

Answer from AI

sobes.tech AI

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

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

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

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

Пример стека:

stack = []
stack.append(1)  # добавить
stack.append(2)
print(stack.pop())  # извлечь 2

Пример очереди:

from collections import deque
queue = deque()
queue.append(1)  # добавить
queue.append(2)
print(queue.popleft())  # извлечь 1