ฉันเพิ่งสังเกตเห็นบางสิ่งบางอย่างและฉันสงสัยว่ามีเหตุผลใดที่ ยกเว้น C ++ (std :: priority_queue เป็น max heap) ฉันไม่รู้ภาษาอื่นที่ให้ heap สูงสุด
โมดูล heapq ของ Python ใช้ min-heap แบบไบนารีที่ด้านบนของรายการ
ไลบรารีของ Java มีคลาส PriorityQueue ซึ่งใช้ขั้นต่ำลำดับความสำคัญคิว
ไลบรารีของ Go ประกอบด้วยโมดูล container / heap ซึ่งใช้ min-heap ที่อยู่ด้านบนของโครงสร้างข้อมูลที่เข้ากันได้
เฟรมเวิร์กหลักของ Apple ประกอบด้วยโครงสร้าง CFBinaryHeap ซึ่งใช้ min-heap
ฉันพบว่า max-heap ใช้งานง่ายกว่า min-heap และฉันเชื่อว่าในทางเทคนิคแล้วความแตกต่างในการใช้งานเป็นเพียงคำถามของการเปลี่ยนโอเปอเรเตอร์เปรียบเทียบ มีเหตุผลจริงหรือไม่? แอปพลิเคชันส่วนใหญ่ต้องการนาทีแทนที่จะเป็นฮีปสูงสุดหรือไม่ ขอบคุณล่วงหน้า