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

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
MerlIwBot (คุย | ส่วนร่วม)
โรบอต เพิ่ม: fr:Analyse de la complexité des algorithmes
Nullzerobot (คุย | ส่วนร่วม)
เก็บกวาด
บรรทัด 1:
{{ต้องการอ้างอิง}}
ในศาสตร์คอมพิวเตอร์ การวิเคราะห์ขั้นตอนวิธี เป็นการตัดสินเกี่ยวกับจำนวนทรัพยากร (เช่น เวลา หรือเนื้อที่หน่วยความจำ) ที่จำเป็นต้องใช้ประมวลผลมัน [[ขั้นตอนวิธี]]ส่วนใหญ่ถูกออกแบบให้ทำงานกับอินพุตที่มีความยาวเท่าไรก็ได้ โดยปกติประสิทธิภาพ หรือเวลาการทำงานของขั้นตอนวิธีเขียนในรูปฟังก์ชันความสัมพันธ์ของความยาวอินพุตกับจำนวนขั้นตอนที่ต้องใช้ในการทำงานนั้น ([[ความซับซ้อนด้านเวลา]]) หรือตำแหน่งของเนื้อที่จัดเก็บ (ความซับซ้อนด้านเนื้อที่)
 
การวิเคราะห์ขั้นตอนวิธีเป็นส่วนที่มีความสำคัญของ[[ทฤษฎีความซับซ้อนในการคำนวณ]]ที่กว้างขึ้น ซึ่งเอื้ออำนวยสำหรับการประมาณการเชิงทฤษฎีสำหรับทรัพยากรที่จำเป็นต้องใช้โดยขั้นตอนวิธีใด ๆ สำหรับใช้ไขปัญหาที่ต้องการคำนวณ การประมาณการนี้ช่วยให้เข้าใจอย่างลึกซึ้งถึงคำสั่งที่มีเหตุผลของการค้นหาประสิทธิภาพของขั้นตอนวิธี
 
การวิเคราะห์ขั้นตอนวิธีทางทฤษฎีเป็นวิธีการปกติที่ใช้ประเมินความซับซ้อนของมันเมื่อพิจารณาประสิทธิภาพของขั้นตอนวิธีกับชุดข้อมูลที่มีขนาดใหญ่มาก เช่น ประมาณฟังก์ชันความซับซ้อนสำหรับอินพุตขนาดใหญ่ใด ๆ [[สัญกรณ์โอใหญ่]] (Big O notation) [[สัญกรณ์โอเมก้า]] และ[[สัญกรณ์ธีต้า]] (theta notation) ถูกใช้เพื่อการนี้ด้วย ตัวอย่างเช่น การทำงานสำหรับ[[การค้นหาแบบทวิภาค]]เท่ากับจำนวนของขั้นตอนสัมพันธ์กับลอการิทึมของความยาวของรายการที่ต้องการค้นหา หรือ O (log (n)) หรือกว่าว่า "ใน[[เวลาลอการิทึม]]" โดยปกติการประเมินประสิทธิภาพของขั้นตอนวิธีมักใช้กับข้อมูลขนาดใหญ่มาก ๆ เนื่องจากการดำเนินการที่แตกต่างกันของขั้นตอนวิธีเดียวกันอาจมีประสิทธิภาพต่างกัน อย่างไรก็ตามประสิทธิภาพของการดำเนินการอย่างมีเหตุผลสองวิธีของขั้นตอนวิธีที่ให้เกี่ยวข้องกันโดยปัจจัยตัวคูณคงที่ที่เรียกว่าค่าคงที่แฝง (Hidden factor)
 
การวัดประสิทธิภาพอย่างแม่นยำ บางครั้งสามารถคำนวณได้ แต่มันต้องการสมมติฐานที่แน่นอนเกี่ยวกับการดำเนินการเป็นพิเศษของขั้นตอนวิธี เรียกว่า[[โมเดลของการคำนวณ]] ซึ่งอาจนิยามในเทอมของ [[คอมพิวเตอร์นามธรรม]] เช่น [[เครื่องจักรทัวริง]] และ/หรือ โดยการสมมุติว่าการดำเนินการที่แน่นอนถูกกระทำในเวลาหนึ่งหน่วย ตัวอย่างเช่น การค้นหาอิลีเมนต์จากรายการที่จัดเรียงแล้ว (Sorted list) n อิลีเมนต์ ด้วยวิธีค้นหาแบบทวิภาค และเราสามารถรับประกันว่าการค้นหาอิลีเมนต์แต่ละครั้งทำในเวลาหนึ่งหน่วย ดังนั้นคำตอบที่ได้จะใช้เวลาในการค้นหาอย่างมากที่สุดเท่ากับ log<sub>2</sub> n + 1 หน่วยเวลา