ผลต่างระหว่างรุ่นของ "การวิเคราะห์ขั้นตอนวิธี"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Omicron6 (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Omicron6 (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
บรรทัด 1:
ในศาสตร์คอมพิวเตอร์ การวิเคราะห์ขั้นตอนวิธี เป็นการตัดสินเกี่ยวกับจำนวนทรัพยากร (เช่น เวลา หรือเนื้อที่หน่วยความจำ) ที่จำเป็นต้องใช้ประมวลผลมัน [[ขั้นตอนวิธี]]ส่วนใหญ่ถูกออกแบบให้ทำงานกับอินพุตที่มีความยาวเท่าไรก็ได้ โดยปกติประสิทธิภาพ หรือเวลาการทำงานของขั้นตอนวิธีเขียนในรูปฟังก์ชันความสัมพันธ์ของความยาวอินพุตกับจำนวนขั้นตอนที่ต้องใช้ในการทำงานนั้น ([[ความซับซ้อนด้านเวลา]]) หรือตำแหน่งของเนื้อที่จัดเก็บ (ความซับซ้อนด้านเนื้อที่)
 
การวิเคราะห์ขั้นตอนวิธีเป็นส่วนที่มีความสำคัญของ[[ทฤษฎีความซับซ้อนในการคำนวณเชิงซ้อน]]ที่กว้างขึ้น ซึ่งเอื้ออำนวยสำหรับการประมาณการเชิงทฤษฎีสำหรับทรัพยากรที่จำเป็นต้องใช้โดยขั้นตอนวิธีใด ๆ สำหรับใช้ไขปัญหาที่ต้องการคำนวณ การประมาณการนี้ช่วยให้เข้าใจอย่างลึกซึ้งถึงคำสั่งที่มีเหตุผลของการค้นหาประสิทธิภาพของขั้นตอนวิธี
 
การวิเคราะห์ขั้นตอนวิธีทางทฤษฎีเป็นวิธีการปกติที่ใช้ประเมินความซับซ้อนของมันเมื่อพิจารณาประสิทธิภาพของขั้นตอนวิธีกับชุดข้อมูลที่มีขนาดใหญ่มาก เช่น ประมาณฟังก์ชันความซับซ้อนสำหรับอินพุตขนาดใหญ่ใด ๆ [[สัญกรณ์โอใหญ่]] (Big O notation) สัญกรณ์[[โอเมก้า]] และ[[สัญกรณ์ธีต้า]] (theta notation) ถูกใช้เพื่อการนี้ด้วย ตัวอย่างเช่น การทำงานสำหรับ[[การค้นหาแบบทวิภาค]]เท่ากับจำนวนของขั้นตอนสัมพันธ์กับลอการิทึมของความยาวของรายการที่ต้องการค้นหา หรือ O(log(n)) หรือกว่าว่า "ใน[[เวลาลอการิทึม]]" โดยปกติการประเมินประสิทธิภาพของขั้นตอนวิธีมักใช้กับข้อมูลขนาดใหญ่มาก ๆ เนื่องจากการดำเนินการที่แตกต่างกันของขั้นตอนวิธีเดียวกันอาจมีประสิทธิภาพต่างกัน อย่างไรก็ตามประสิทธิภาพของการดำเนินการอย่างมีเหตุผลสองวิธีของขั้นตอนวิธีที่ให้เกี่ยวข้องกันโดยปัจจัยตัวคูณคงที่ที่เรียกว่าค่าคงที่แฝง (Hidden factor)