การเข้าใจความซับซ้อนของเวลาของอัลกอริทึมนั้นจําเป็นสําหรับการประเมินประสิทธิภาพของมัน มันช่วยผู้พัฒนาในการทํานายเวลาที่มีอัลกอริทึมเพิ่มขึ้นอย่างไร โดยเพิ่มขนาดเข้าและเพิ่มความเหมาะสมของอัลกอริทึม ดูบทความนี้จะให้วิธีการคํานวณความซับซ้อนของเวลาอย่างชัดเจน
ขั้นที่ 1: การแสดงตัวปฏิบัติการ
ขั้น ตอน แรก เกี่ยว ข้อง กับ การ ระบุ ว่า การ ทํา งาน ขั้น พื้น ฐาน มี ผล กระทบ อย่าง มาก ต่อ เวลา ที่ ใช้ ใน การ ทํา งาน ของ อัลกอริทึม.
ขั้น ที่ 2: นับ การ ดําเนิน งาน
ต่อไป, ประเมินว่าปฏิบัติการพื้นฐานเหล่านี้ ดําเนินการกี่ครั้ง เมื่อเทียบกับขนาดที่ป้อนเข้าไป, เช่น วงวนที่วิ่งจาก 1 ถึง n ปฏิบัติการประมาณ n ครั้ง วงจรที่ตั้งไว้คูณกัน, ดังนั้นวงวนภายในวงรอบผลลัพธ์ n ครั้งในการดําเนินการ n2
ขั้น ที่ 3: บอก เวลา รวม ทั้ง หมด
รวมจํานวนของการดําเนินการที่สําคัญทั้งหมด เพื่อกําหนดพจน์แทนเวลาทํางานทั้งหมด. โฟกัสที่เทอมหลักเมื่อ n โตขึ้นมาก, เนื่องจากมันมีอิทธิพลต่อความซับซ้อนโดยรวมมากกว่าค่าคงที่หรือลําดับต่ํา.
ขั้น ที่ 4: ทํา ให้ คํา พูด ง่าย ขึ้น
ทําพจน์ให้ง่าย โดยการลบค่าคงที่และลําดับล่าง ทิ้งเทอมลําดับลําดับสูงสุดไว้ รูปอย่างง่ายนี้ จะบ่งบอกถึงรุ่นความซับซ้อนของเวลา เช่น O(n), O(n2) หรือ O(n2).
เคล็ดลับเพิ่มเติม
- วิเคราะห์สถานการณ์ที่เลวร้ายที่สุดเสมอ สําหรับความเข้าใจที่ครอบคลุม
- ลอง พิจารณา ผล กระทบ ของ วง กลม ที่ มี รัง อย่าง ละเอียด.
- ใช้สัญลักษณ์ใหญ่ O เพื่อแสดงความซับซ้อนสุดท้าย
- ฝึกซ้อมด้วยอัลกอริทึมที่แตกต่าง เพื่อปรับปรุงสัญชาตญาณ