Ho appena notato qualcosa e mi chiedo se c'è qualche ragione per questo. Tranne che per C ++ (std :: priority_queue è un heap massimo), non conosco nessun altro linguaggio che offra un heap massimo.
Python's heapq module implements a binary min-heap on top of a list.
Java's library contains a PriorityQueue class, which implements a min-priority-queue.
Go's library contains a container/heap module, which implements a min-heap on top of any compatible data structure.
Apple's Core Foundation framework contains a CFBinaryHeap structure, which implements a min-heap.
Trovo che un max-heap sia più intuitivo di un min-heap e credo tecnicamente che la differenza di implementazione sia solo una questione di modifica di un operatore di confronto. C'è una vera ragione? La maggior parte delle applicazioni richiede un min invece di un heap massimo? Grazie in anticipo