Урок 11: Стеки и очереди
Начнём с кухни: представьте стопку тарелок — вы кладёте сверху и берёте сверху, поэтому последняя вошедшая выходит первой. Это «стек» (stack), LIFO. Теперь представьте очередь на кассе: кто пришёл первым, того обслужат первым — это «очередь» (queue), FIFO. В Python стек — это list с append/pop, а оч
Стек — это как стопка тарелок: вы кладёте сверху и берёте сверху — последняя положенная снимается первой. Очередь — это как очередь на кассе: кто пришёл первым, того обслужат первым. В этом вся разница — с какого конца вы берёте.
- стек (stack)
- Структура LIFO — последним вошёл, первым вышел. В Python: list с append и pop в конце, обе операции O(1).
- очередь (queue)
- Структура FIFO — первым вошёл, первым вышел. В Python: collections.deque с append и popleft, обе операции O(1).
- deque (двусторонняя очередь)
- Двусторонняя очередь из collections; позволяет добавлять и удалять с обоих концов за O(1), что делает её эффективной FIFO-очередью.