Saya hanya memperhatikan sesuatu dan saya bertanya-tanya apakah ada alasan untuk itu. Kecuali untuk C ++ (std :: priority_queue adalah heap maks), saya tidak tahu bahasa lain yang menawarkan heap maks.
Modul heapq Python mengimplementasikan min-heap biner di atas daftar.
Pustaka Java berisi kelas PriorityQueue, yang mengimplementasikan antrian min-priority.
Pustaka Go berisi modul container / heap, yang mengimplementasikan min-heap di atas semua struktur data yang kompatibel.
Kerangka kerja Core Foundation Apple berisi struktur CFBinaryHeap, yang mengimplementasikan min-heap.
Saya menemukan tumpukan maksimum lebih intuitif daripada tumpukan kecil dan saya percaya secara teknis perbedaan implementasi hanya masalah mengubah operator perbandingan. Apakah ada alasan nyata? Sebagian besar aplikasi membutuhkan min, bukan max heap? Terima kasih sebelumnya