Куча (heap) — это специализированная структура данных, которая представляет собой почти полное бинарное дерево, удовлетворяющее свойству кучи. В Python для работы с кучами используется модуль heapq, реализующий минимальную кучу (min-heap), где родительский элемент всегда меньше или равен дочерним. Это позволяет эффективно получать и удалять минимальный элемент. В статье рассмотрим, как использовать кучу в Python, основные операции и примеры применения. 1. Минимальная куча: Корневой элемент — наименьший в дереве. 2. Форма дерева: Все уровни, кроме последнего, полностью заполнены. Последний уровень заполняется слева направо. 3. Эффективность операций: - Вставка: O(log n). - Удаление минимального элемента: O(log n). - Преобразование списка в кучу: O(n). Модуль heapq предоставляет функции для работы со списками как с кучами. Основные методы: - heappush(heap, item): Добавляет элемент в кучу. - heappop(heap): Удаляет и возвращает наименьший элемент. - heapify(x): Преобразует список x в кучу
Куча в Python: реализация и применение с использованием модуля heapq
14 апреля14 апр
101
2 мин