โครงสร้างข้อมูลสำหรับการจัดสรรหน่วยความจำแบบไดนามิก


12

นึกถึงโมเดลเครื่องมือตรวจเซลล์ มีโครงสร้างข้อมูลที่สามารถจัดสรรชิ้นที่ต่อเนื่องกันของหน่วยความจำของความยาวใด ๆ (เหมือนเช่น malloc ใน C) และฟรีพวกเขาขณะที่หลีกเลี่ยงการแบ่งส่วนหน่วยความจำและดำเนินการการดำเนินงานในทุกกรณีที่แย่ที่สุด O กำหนด (log n) เวลาที่ n คือ ขนาดทั้งหมดของหน่วยความจำคืออะไร?

โดยการหลีกเลี่ยงการแบ่งเซ็กเมนต์หน่วยความจำฉันหมายความว่าหากจำนวนเซลล์ว่างทั้งหมดคือ F ดังนั้นฉันควรจะสามารถจัดสรรเซ็กเมนต์ที่ต่อเนื่องกันของเซลล์ F หรือเซลล์ F

คำตอบ:


6

แม้จะไม่มีเวลาก็เป็นไปไม่ได้ที่จะ "หลีกเลี่ยงการแบ่งเซ็กเมนต์หน่วยความจำ" เว้นแต่ว่าคุณสามารถย้ายวัตถุที่ปันส่วนไปมาได้ ดูของร็อบสัน "ขอบเขตสำหรับฟังก์ชั่นบางอย่างเกี่ยวกับการจัดสรรการจัดเก็บข้อมูลแบบไดนามิก" ซึ่งแสดงให้เห็นว่าการจัดสรรไบต์ในบล็อกของขนาดระหว่างnและNต้องΩ ( ม. เข้าสู่ระบบ( N / n ) )ไบต์หน่วยความจำmnNΩ(mlog(N/n))

นอกจากนี้ระบบบัดดี้ได้รับการเชื่อมโยงนี้และสามารถทำได้ในเวลาลอการิทึม


ขอบคุณสำหรับการอ้างอิง ฉันอนุญาตให้ย้ายวัตถุที่ปันส่วนไปรอบ ๆ ขอบเขตล่างที่คุณพูดถึงยังคงใช้อยู่หรือไม่?
มนู

m

O(logn)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.