ผมคิดเสมอว่ากองที่และคิวลำดับความสำคัญเป็นคำพ้อง - โครงสร้างข้อมูลนามธรรมที่สนับสนุนinsert
, findMin
และdeleteMin
การดำเนินงาน
วรรณกรรมบางเล่มดูเหมือนจะเห็นด้วยกับฉัน - ตัวอย่างโครงสร้างข้อมูลที่ใช้งานได้อย่างแท้จริงของ Chris Okasaki (บทที่ 3)
ในทางกลับกันฮีปเพจของวิกิพีเดียกำหนดว่าเป็นโครงสร้างข้อมูลแบบทรีและระบุว่า heaps เป็นการใช้คิวงานที่มีลำดับความสำคัญสูง
ฉันมีความยากลำบากในการคืนดีกับความจริงที่ว่าฉันสามารถคิดถึงการใช้ฮีปมากกว่าหนึ่งครั้ง - กองซ้ายกองซ้อนทวิทวิสเปรย์กอง ...
ความจริงง่ายๆที่ heap สามารถนำไปใช้กับโครงสร้างข้อมูลที่แตกต่างกันไม่ได้หมายความว่าตามนิยามแล้วมันเป็นโครงสร้างข้อมูลนามธรรมหรือไม่? และถ้าเป็นเช่นนั้นจะมีความแตกต่างจริงกับลำดับความสำคัญหรือไม่