heapq — algorytm kolejki kopcowej

Ten moduł implementuje algorytm kolejki kopcowej typu min.

Kolejka kopcowa to w istocie lista, której elementy są przechowywane w taki sposób, że pierwszy element listy jest zawsze najmniejszy. Wstawianie i usuwanie wartości minimalnej to operacje O(log n), co czyni kopce wygodną implementacją kolejki priorytetowej zbudowaną na zwykłej liście.

Funkcje

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

Wstawia item na heap.

heapq.heappop(heap: list) Any

Zdejmuje pierwszy element z heap i zwraca go. Zgłasza IndexError, jeśli heap jest pusty.

Zwracany element będzie najmniejszym elementem w heap.

heapq.heapify(x: list) None

Konwertuje listę x na kopiec. Jest to operacja wykonywana w miejscu.