Куча (Heap) — это специализированная древовидная структура данных, которая удовлетворяет свойству кучи:
V, значение V больше или равно значению любого из ее дочерних узлов. Самый большой элемент находится в корне.V, значение V меньше или равно значению любого из ее дочерних узлов. Самый маленький элемент находится в корне.Кучи обычно реализуются с использованием массива, что обеспечивает эффективный доступ к дочерним и родительским узлам:
i (начиная с 0), его левый дочерний узел находится по индексу 2i + 1, а правый — по индексу 2i + 2.i находится по индексу (i - 1) / 2 (целая часть).Основные операции:
Применение:
Пример реализации кучи минимума с использованием массива:
python
Куча является эффективной структурой для операций с приоритетами благодаря логарифмической временной сложности основных операций.