ดูเหมือนว่าเป็นคำถามง่าย ๆ แต่หลังจากอ่านเนื้อหาจำนวนมากฉันยังไม่พบคำตอบที่ชัดเจน (อาจเป็นเพราะมันง่ายมาก)
คำถามของฉันคือสิ่งนี้: เมื่อตัวรวบรวมขยะทำการย่อขนาดวัตถุในฮีปการอ้างอิงไปยังวัตถุเหล่านั้นในสแต็กมีการปรับปรุงอย่างไร ฉันนึกถึงโซลูชันที่เป็นไปได้สองวิธี:
- ผ่านสแต็ก (และการอ้างอิงในฮีป) และอัปเดตการอ้างอิงเพื่อชี้ไปยังตำแหน่งใหม่ของวัตถุ ในการเปรียบเทียบกับการย้ายสิ่งนี้จะเหมือนกับการส่งจดหมายไปยังทุกคนที่มีที่อยู่ของคุณและขอให้พวกเขาอัปเดตสมุดที่อยู่ด้วยที่อยู่ใหม่ของคุณ
- จัดตารางการค้นหาบางประเภท นี่จะเป็นเหมือนที่อยู่สำหรับส่งต่อกับที่ทำการไปรษณีย์ท้องถิ่น
นักสะสมขยะใช้วิธีการหนึ่งในสองวิธีนี้อย่างเด่นชัดหรือไม่? วิธีอื่นบ้าง ทั้งสอง?