ทฤษฎีความซับซ้อนทางคอมพิวเตอร์มุ่งเน้นไปที่การจำแนกปัญหาการคำนวณตามการใช้ทรัพยากร และเชื่อมโยงชั้นเรียนเหล่านี้เข้าด้วยกัน ปัญหาทางคอมพิวเตอร์คืองานที่คอมพิวเตอร์แก้ไข ปัญหาการคำนวณสามารถแก้ไขได้โดยการใช้ขั้นตอนทางคณิตศาสตร์อย่างกลไก เช่น อัลกอริธึม
ความซับซ้อนของอัลกอริทึมหมายความว่าอย่างไร
ความซับซ้อนของอัลกอริทึมคือ การวัดเวลาและ/หรือพื้นที่ที่อัลกอริทึมต้องการสำหรับการป้อนข้อมูลขนาดที่กำหนด (n).
ความซับซ้อนของอัลกอริทึมในโครงสร้างข้อมูลคืออะไร
ความซับซ้อนของอัลกอริธึมคือ การวัดว่าอัลกอริธึมใช้เวลานานเท่าใดจึงจะเสร็จสมบูรณ์เมื่อป้อนขนาด n หากอัลกอริทึมต้องปรับขนาด ก็ควรคำนวณผลลัพธ์ภายในระยะเวลาที่จำกัดและใช้ได้จริง แม้กระทั่งสำหรับค่า n จำนวนมาก ด้วยเหตุผลนี้ ความซับซ้อนจึงคำนวณแบบไม่มีซีมโทติคเมื่อ n เข้าใกล้อนันต์
ทำไมความซับซ้อนของอัลกอริทึมจึงสำคัญ
นักวิทยาศาสตร์คอมพิวเตอร์ใช้การวัดความซับซ้อนทางคณิตศาสตร์ที่ อนุญาตให้พวกเขาทำนาย ก่อนเขียนโค้ด อัลกอริทึมจะทำงานได้เร็วเพียงใดและต้องใช้หน่วยความจำเท่าใด การคาดคะเนดังกล่าวเป็นแนวทางที่สำคัญสำหรับโปรแกรมเมอร์ที่ปรับใช้และเลือกอัลกอริธึมสำหรับแอปพลิเคชันในโลกแห่งความเป็นจริง
ความซับซ้อนของอัลกอริทึมคำนวณอย่างไร
สำหรับลูปใด ๆ เราค้นหารันไทม์ของบล็อกภายในและ คูณด้วยจำนวนครั้งที่โปรแกรม จะวนซ้ำ ลูปทั้งหมดที่เติบโตตามสัดส่วนกับขนาดอินพุตจะมีความซับซ้อนของเวลาเชิงเส้น O(n) หากคุณวนซ้ำเพียงครึ่งอาร์เรย์ นั่นยังคงเป็น O(n).