Встречается на собеседованиях • сегодня

Через какие структуры данных реализуешь стек на Python

Стек можно реализовать несколькими способами в Python, используя встроенные структуры данных:

  1. Список (list) - самый простой и распространённый вариант. Используем append() для добавления и pop() для удаления элементов (LIFO):
python
stack = []
stack.append(1)  # push
stack.append(2)
top = stack.pop()  # 2
  1. collections.deque - оптимизирован для быстрых операций с обоих концов. Лучше подходит для больших стеков:
python
from collections import deque
stack = deque()
stack.append(1)
stack.append(2)
top = stack.pop()
  1. queue.LifoQueue - потокобезопасная реализация стека:
python
from queue import LifoQueue
stack = LifoQueue()
stack.put(1)
stack.put(2)
top = stack.get()

Для большинства случаев достаточно обычного списка. Deque эффективнее при частых операциях, а LifoQueue нужен при работе с потоками.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы