Я только что заметил что-то, и мне интересно, есть ли причина для этого. За исключением C ++ (std :: priority_queue - это максимальная куча), я не знаю другого языка, который предлагает максимальную кучу.
Модуль Python heapq реализует двоичную минимальную кучу поверх списка.
Библиотека Java содержит класс PriorityQueue, который реализует очередь min-priority.
Библиотека Go содержит модуль контейнера / кучи, который реализует минимальную кучу поверх любой совместимой структуры данных.
Основа Apple Core Foundation содержит структуру CFBinaryHeap, которая реализует минимальную кучу.
Я считаю, что максимальная куча более интуитивна, чем минимальная куча, и я считаю, что технически разница в реализации - это только вопрос смены оператора сравнения. Есть ли реальная причина? Большинству приложений нужна минута, а не максимальная куча? заранее спасибо