Python Glossary English

все Python 3heapqфункция

heapq.heapify()

операции

Преобразует произвольный список в min-heap за O(n). Изменяет список на месте.

Синтаксис

heapq.heapify(x)

Собрать кучу разом дешевле, чем набивать поэлементно: heapify — O(n), а n вызовов heappush — O(n log n). Главная ловушка — решить, что после heapify список отсортирован: он упорядочен лишь частично, гарантирован только минимум в x[0], и печать списка даёт на вид случайный порядок. Max-heap в heapq нет — обычный обходной приём: хранить значения с обратным знаком.

Примеры

import heapq
data = [5, 2, 8, 1, 4]
heapq.heapify(data)
data[0] # → 1  (минимальный элемент)
heapq.heappop(data) # → 1
heapq.heappop(data) # → 2
data # → [4, 5, 8]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности