Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Multiple Lists in a Single Array ในโครงสร้างข้อมูล


ปัญหาของ Array Representation

Array Representation ใช้พื้นที่มากเกินไปเมื่อเก็บข้อมูลที่เปลี่ยนแปลง ต้องจัดสรรพื้นที่ใหญ่พอสำหรับค่าสูงสุด ใช้ Array Doubling เพิ่มขนาด

ตัวอย่าง: ขนาดปัจจุบัน 8192 เต็ม เพิ่มเป็น 16384 คัดลอก 8192 แล้ว Deallocate เก่า ก่อน Deallocate ขนาดรวม = 3×8192 (เก่า + ใหม่) ไม่ค่อยดี

Multiple Lists in One Array

แทนที่จะสร้าง Array ใหม่สำหรับ List ใหม่ ให้ Share Array ใหญ่เดียวกัน:

Multiple Lists in a Single Array ในโครงสร้างข้อมูล

ข้อดี-ข้อเสีย

  • ข้อดี: ประหยัดหน่วยความจำ
  • ข้อเสีย: Insert ใช้ค่าใช้จ่ายสูงกว่า (อาจต้องย้ายข้อมูล List อื่น) และ Implementation ยากกว่า