Je viens de remarquer quelque chose et je me demande s'il y a une raison à cela. À l'exception de C ++ (std :: priority_queue est un tas max), je ne connais aucun autre langage qui offre un tas max.
Le module heapq de Python implémente un min-tas binaire en haut d'une liste.
La bibliothèque de Java contient une classe PriorityQueue, qui implémente une file d'attente à priorité min.
La bibliothèque de Go contient un module conteneur / tas, qui implémente un min-tas au-dessus de toute structure de données compatible.
Le framework Core Foundation d'Apple contient une structure CFBinaryHeap, qui implémente un min-heap.
Je trouve un max-tas plus intuitif qu'un min-tas et je crois que techniquement la différence d'implémentation n'est qu'une question de changer d'opérateur de comparaison. Y a-t-il une vraie raison? La plupart des applications ont besoin d'un segment min au lieu d'un segment max? Merci d'avance