ОЧЕРЕДЬ И СТЕК PYTHON

Очередь и стек - это две наиболее распространенные структуры данных в программировании. Они оба являются коллекциями элементов, которые могут быть добавлены или удалены последовательно. Однако работают они совершенно по-разному.

Стек - это структура данных, работающая по принципу LIFO (Last In, First Out). То есть, элементы добавляются и удаляются только с одного конца. Новый элемент всегда помещается на вершину стека, а удаление также происходит с вершины.

stack = []
stack.append("a")
stack.append("b")
stack.append("c")
print(stack) # ['a', 'b', 'c']
stack.pop()
print(stack) # ['a', 'b']

Очередь, напротив, работает по принципу FIFO (First In, First Out). Элементы добавляются с одного конца, а удаляются с другого. Новый элемент всегда помещается в конец очереди, а удаление происходит с начала.

queue = []
queue.append("a")
queue.append("b")
queue.append("c")
print(queue) # ['a', 'b', 'c']
queue.pop(0)
print(queue) # ['b', 'c']

В Python для работы со стеком и очередью есть модуль collections, который предоставляет соответствующие классы deque и Queue. Например, для создания стека:

from collections import deque
stack = deque()
stack.append("a")
stack.append("b")
stack.append("c")
print(stack) # deque(['a', 'b', 'c'])
stack.pop()
print(stack) # deque(['a', 'b'])

Для создания очереди:

from queue import Queue
queue = Queue()
queue.put("a")
queue.put("b")
queue.put("c")
print(queue.queue) # deque(['a', 'b', 'c'])
queue.get()
print(queue.queue) # deque(['b', 'c'])

Познаем стеки и очереди. Курс \

АиСД (2023). 2. Стек. Очередь. Deque

LeetCode Марафон Easy (100 задач)

#15. Делаем очередь (queue) - Алгоритмы на Python

Урок 7. Стек, дек и очередь - Алгоритмы и структуры данных для технических интервью на Python

#14. Стек типа LIFO (Last-In-First-Out) - Алгоритмы на Python

BLGPG-4B5E39B68750-24-09-19-15

Новые материалы: