Сигнал задачи
Когда применять
Нужно многократно получать текущий минимум или максимум.
Что держать в голове
- Уметь различать heap и отсортированный массив.
- Уметь учитывать противоположные значения API C++ и Python.
Сложность
- Чтение экстремума O(1), вставка и удаление экстремума O(log n), построение heapify O(n), память O(n).
Границы и ошибки
- Куча гарантирует только вершину, а не полный порядок; min-heap и max-heap требуют согласованного компаратора.