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

Space Complexity (ความซับซ้อนของพื้นที่) คืออะไร?

Space Complexity คืออะไร?

Space Complexity (ความซับซ้อนของพื้นที่) หมายถึงปริมาณหน่วยความจำที่อัลกอริทึมใช้ (รวมถึงค่าอินพุตของอัลกอริทึม) เพื่อทำงานจนเสร็จและสร้างผลลัพธ์ออกมา

เราทราบว่าเพื่อให้อัลกอริทึมทำงาน ต้องโหลดลงในหน่วยความจำหลัก (Main Memory) หน่วยความจำสามารถใช้ในรูปแบบต่างๆ ได้ดังนี้:

  • Variables (ตัวแปร): รวมถึงค่าคงที่และค่าชั่วคราว
  • Program Instruction (คำสั่งโปรแกรม): โค้ดที่คอมไพล์แล้ว
  • Execution (การทำงาน): พื้นที่สำหรับการดำเนินการระหว่างรัน

Auxiliary Space (พื้นที่ช่วยเหลือ)

Auxiliary Space คือพื้นที่เพิ่มเติมหรือพื้นที่ชั่วคราวที่อัลกอริทึมใช้ระหว่างการทำงาน (ไม่นับรวมพื้นที่ของอินพุต)

การใช้หน่วยความจำระหว่างการทำงานโปรแกรม

  • Instruction Space: ใช้เก็บคำสั่งที่คอมไพล์แล้วในหน่วยความจำ
  • Environmental Stack: ใช้เก็บที่อยู่เมื่อโมดูลหนึ่งเรียกอีกโมดูลหรือฟังก์ชันระหว่างการทำงาน
  • Data Space: ใช้เก็บข้อมูล ตัวแปร และค่าคงที่ที่โปรแกรมจัดเก็บและอัปเดตระหว่างการทำงาน