Stack
- Linear Data Structure
- Memory จัดสรรแบบ Contiguous (ติดกัน)
- Allocate/Deallocate อัตโนมัติโดย Compiler
- ต้นทุนต่ำ ง่ายต่อการ Implement
- Fixed Size ไม่ยืดหยุ่น
- ข้อเสีย: ขาด Memory (เพราะ Fixed Size)
- ถ้าไม่เต็ม Memory ก็ Waste
- Access เร็ว Locality of Reference ดีเยี่ยม
Heap
- Hierarchical Data Structure
- Memory จัดสรรแบบ Random
- Allocate/Deallocate ด้วยมือโดย Programmer
- ต้นทุนสูง ยากต่อการ Implement
- Access ช้ากว่า
- ข้อเสีย: Memory Fragmentation
- Resize ได้ → Memory ไม่ Waste
- Locality of Reference พอสมควร
Process ใน Main Memory
