Ho appena notato qualcosa e mi chiedo se c'è qualche motivo per questo. Ad eccezione di C ++ (std :: priority_queue è un heap massimo), non conosco nessun altro linguaggio che offra un heap massimo.
Il modulo heapq di Python implementa un min-heap binario in cima a un elenco.
La libreria Java contiene una classe PriorityQueue, che implementa una coda con priorità minima.
La libreria di Go contiene un modulo contenitore / heap, che implementa un min-heap in cima a qualsiasi struttura di dati compatibile.
Il framework Core Foundation di Apple contiene una struttura CFBinaryHeap, che implementa un min-heap.
Trovo un max-heap più intuitivo di un min-heap e credo che tecnicamente la differenza di implementazione sia solo una questione di modifica di un operatore di confronto. C'è qualche vero motivo? La maggior parte delle applicazioni necessita di un heap min anziché max? Grazie in anticipo