Что такое куча (Heap) в Python

Python Middle Без компании
Что такое куча (Heap) в Python
Ответы
В Python куча (heap) — это специальная структура данных, реализованная через модуль `heapq`, которая представляет собой бинарную минимальную кучу. Это означает, что наименьший элемент всегда находится в корне (индекс 0), что позволяет эффективно извлекать и добавлять элементы за O(log n). **Основные операции:** - `heapq.heappush(heap, item)` — добавляет элемент в кучу. - `heapq.heappop(heap)` — извлекает и возвращает наименьший элемент. - `heapq.heapify(list)` — преобразует список в кучу за O(n). **Пример:** ``` import heapq data = [5, 3, 8, 1, 2] heapq.heapify(data) # Преобразуем в кучу: [1, 2, 8, 3, 5] heapq.heappush(data, 0) # Добавляем 0: [0, 2, 1, 3, 5, 8] print(heapq.heappop(data)) # Извлекаем 0, куча: [1, 2, 8, 3, 5] ```