มีใครมีความคิดว่าเหตุใดพื้นที่ของหน่วยความจำหลักที่มีการจัดสรรออบเจ็กต์นั้นเรียกว่าฮีป ฉันเข้าใจเหตุผลของสแต็ค LIFO แต่อยากรู้ว่าเหตุผลคืออะไรสำหรับชื่อ 'heap'
มีใครมีความคิดว่าเหตุใดพื้นที่ของหน่วยความจำหลักที่มีการจัดสรรออบเจ็กต์นั้นเรียกว่าฮีป ฉันเข้าใจเหตุผลของสแต็ค LIFO แต่อยากรู้ว่าเหตุผลคืออะไรสำหรับชื่อ 'heap'
คำตอบ:
จากข้อมูลที่พบใน StackOverflow - ต้นกำเนิดของคำว่า "heap" สำหรับร้านค้าฟรีคืออะไร และทำไมสองแนวคิดที่แตกต่างกันทั้งสองเรียกว่า "ฮีป"
ข้อมูลอย่างน้อยวันนี้กลับไป Knuth ในปี 1975 อ้างอิงผู้เขียนอื่น ๆ (ไม่มีชื่อ):
ผู้เขียนหลายคนเริ่มประมาณปี 1975 เพื่อเรียกกองหน่วยความจำที่มีอยู่ว่า "กอง" แต่ในหนังสือชุดปัจจุบันเราจะใช้คำนั้นเฉพาะในความหมายดั้งเดิมที่เกี่ยวข้องกับการจัดลำดับความสำคัญ (ศิลปะการเขียนโปรแกรมคอมพิวเตอร์ - อัลกอริธึมพื้นฐาน, 3 ed., p. 435)
นอกจากนี้ยังมีการพูดถึง Wijngaarden การอภิปรายใน Algol ในช่วงต้นยุค 70 หมายถึงหน่วยความจำที่มีอยู่ในกอง ( heap
เป็นคำสงวนใน Algol ซึ่งกำหนดไว้ในสถานที่ที่ "จัดสรรตัวแปรบางพื้นที่ว่างจากกองโลก" - Algol68 วัน จาก 1968)
การใช้ ALGOL 68 heapตั้งแต่ปี 1970 อาจใช้ในการติดตามคำที่มาของคำบางคำแม้ว่าจะอยู่ด้านหลัง paywall ก็ตาม