ОЧЕРЕДЬ С ПРИОРИТЕТОМ PYTHON

Очередь с приоритетом (priority queue) - это структура данных, напоминающая обычную очередь, но элементы в ней упорядочены по приоритету.

В Python очередь с приоритетом может быть реализована с помощью модуля heapq, который предоставляет функции для работы с минимальной кучей (пирамидой). Куча - это бинарное дерево, в котором каждый узел имеет значение не больше (для минимальной кучи) или не меньше (для максимальной кучи) значений его потомков.

import heapq
pq = [] # пустая очередь с приоритетом
heapq.heappush(pq, (2, 'b')) # добавим элемент с приоритетом 2 и значением 'b'
heapq.heappush(pq, (1, 'a')) # добавим элемент с приоритетом 1 и значением 'a'
print(heapq.heappop(pq)) # вернет элемент с приоритетом 1 и значением 'a'

В данном примере мы создали пустую очередь с приоритетом pq и добавили два элемента - 'a' с приоритетом 1 и 'b' с приоритетом 2. Функция heappush добавляет элемент в очередь с приоритетом в порядке возрастания приоритета. Функция heappop возвращает элемент с наименьшим приоритетом и удаляет его из очереди. В данном случае первым будет удален элемент с приоритетом 1 и значением 'a'.

Вебинар: Очередь с приоритетом из курса «Алгоритмы и структуры данных»

Очередь с приоритетом / Алгоритмы и структуры данных / Степан Мацкевич - разработчик Яндекс Go

Python developer собеседование с задачей уровня хард из Яндекса . Ян Желанов

Очередь как структура данных. Динамические структуры данных #5

Структуры данных(12 урок)(Очередь. Реализация очереди на python )

Алгоритмы и структуры данных (Очередь, дек, очередь с приоритетом), Мацкевич С. Е. 27.09.2021г.

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

Очередь с приоритетом - Кольцевая очередь - Динамические структуры данных #6

Тренировки по алгоритмам 3.0. Лекция 2: «Очереди, деки и приоритетные очереди»

BLGPG-4E8B2D3C7A49-24-11-23-20

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