Стек (Stack) — абстрактный тип данных, основанный на принципе LIFO (Last-In, First-Out). Последний добавленный элемент будет первым извлечен.
Очередь (Queue) — абстрактный тип данных, основанный на принципе FIFO (First-In, First-Out). Первый добавленный элемент будет первым извлечен.
Основные операции:
| Операция | Стек (Stack) | Очередь (Queue) |
|---|---|---|
| Добавление | push() (обычно в конец) | enqueue() (обычно в конец) |
| Удаление | pop() (из конца) | dequeue() (из начала) |
| Просмотр | peek() или top() (элемент в конце) | peek() или front() (элемент в начале) |
Применение:
Реализация в Python:
Для стека можно использовать список, добавляя и удаляя элементы с конца:
python
Для очереди можно использовать collections.deque для эффективного добавления и удаления с обоих концов:
python