heapq — алгоритм очереди на куче

Этот модуль реализует алгоритм очереди на минимальной куче.

Очередь на куче — это по сути список, элементы которого хранятся так, что первый элемент списка всегда наименьший. Вставка и удаление минимального значения являются операциями O(log n), что делает кучи удобной реализацией приоритетной очереди на основе обычного списка.

Функции

heapq.heappush(heap: list, item: Any) None

Помещает item в heap.

heapq.heappop(heap: list) Any

Извлекает первый элемент из heap и возвращает его. Генерирует IndexError, если heap пуст.

Возвращаемый элемент будет наименьшим элементом в heap.

heapq.heapify(x: list) None

Преобразует список x в кучу. Это операция на месте.