การวิเคราะห์ Asymptotic
คำนี้หมายถึงการวิเคราะห์ประสิทธิภาพของอัลกอริทึมภายใต้สมมติฐานว่าข้อมูลที่อัลกอริทึมทำงานบน ( อินพุต ) คือในแง่ของคนธรรมดา "ใหญ่พอที่จะทำให้ใหญ่ขึ้นจะไม่เปลี่ยนข้อสรุป" แม้ว่าขนาดที่แน่นอนของการป้อนข้อมูลที่ไม่จำเป็นต้องมีการระบุ (เราจะต้องผูกพันบน) ข้อมูลที่ตั้งตัวเองมีการระบุ
โปรดทราบว่าจนถึงตอนนี้เราได้พูดถึงวิธีการวิเคราะห์เท่านั้น เราไม่ได้ระบุว่าเรากำลังวิเคราะห์ปริมาณใด (ความซับซ้อนของเวลาความซับซ้อนของพื้นที่?) และเราไม่ได้ระบุว่าเราสนใจเมตริกใด (กรณีที่เลวร้ายที่สุดกรณีที่ดีที่สุดค่าเฉลี่ย?)
ในทางปฏิบัติคำว่า asymptotic analysis มักหมายถึงความซับซ้อนของเวลาขอบเขตบนของอัลกอริทึมนั่นคือประสิทธิภาพของกรณีที่เลวร้ายที่สุดที่วัดจากเวลาทำงานทั้งหมดซึ่งแสดงด้วยสัญกรณ์ขนาดใหญ่ - Oh (เช่นอัลกอริทึมการเรียงลำดับO(nlogn)
)
การวิเคราะห์ค่าตัดจำหน่าย
คำนี้หมายถึงการวิเคราะห์ประสิทธิภาพของอัลกอริทึมตามลำดับขั้นตอนเฉพาะของการดำเนินงานที่กำหนดเป้าหมายสถานการณ์กรณีที่เลวร้ายที่สุดนั่นคือการวิเคราะห์แบบตัดจำหน่ายหมายความว่าเมตริกเป็นผลการดำเนินงานกรณีที่เลวร้ายที่สุด (แม้ว่าจะยังไม่ได้บอกว่ากำลังวัดปริมาณใดก็ตาม ). ในการวิเคราะห์นี้เราจำเป็นต้องระบุขนาดของอินพุต แต่เราไม่จำเป็นต้องตั้งสมมติฐานใด ๆ เกี่ยวกับรูปแบบของมัน
ในแง่ของคนธรรมดาการวิเคราะห์แบบตัดจำหน่ายคือการเลือกขนาดโดยพลการสำหรับอินพุตจากนั้นจึง "เล่นผ่าน" อัลกอริทึม เมื่อใดก็ตามที่ต้องตัดสินใจซึ่งขึ้นอยู่กับข้อมูลที่ป้อนเข้าทางที่เลวร้ายที่สุดจะถูกยึด¹ หลังจากที่อัลกอริทึมทำงานจนเสร็จสมบูรณ์เราจะแบ่งความซับซ้อนที่คำนวณได้ตามขนาดของอินพุตเพื่อให้ได้ผลลัพธ์สุดท้าย
¹note: จะแม่นยำเส้นทางที่เลวร้ายที่สุดที่เป็นไปได้ในทางทฤษฎี หากคุณมีเวกเตอร์ที่เพิ่มขนาดแบบไดนามิกเป็นสองเท่าในแต่ละครั้งที่ความจุของมันหมด "กรณีที่เลวร้ายที่สุด" ไม่ได้หมายความว่าจะต้องเพิ่มเป็นสองเท่าในการแทรกทุกครั้งเนื่องจากการแทรกจะถูกประมวลผลเป็นลำดับ เราได้รับอนุญาตให้ (และต้อง) ใช้สถานะที่ทราบเพื่อกำจัดกรณีที่ "แย่กว่านั้น" ทางคณิตศาสตร์ให้ได้มากที่สุดเท่าที่จะทำได้แม้ว่าจะยังไม่ทราบข้อมูลที่ป้อนเข้าก็ตาม
ความแตกต่างที่สำคัญที่สุด
ความแตกต่างที่สำคัญระหว่างการวิเคราะห์แบบไม่แสดงอาการและการวิเคราะห์แบบตัดจำหน่ายคืออดีตขึ้นอยู่กับข้อมูลเข้าในขณะที่ส่วนหลังขึ้นอยู่กับลำดับของการดำเนินการที่อัลกอริทึมจะดำเนินการ
ดังนั้น:
- การวิเคราะห์ asymptotic ช่วยให้เรายืนยันได้ว่าความซับซ้อนของอัลกอริทึมเมื่อได้รับอินพุตกรณีที่ดีที่สุด / แย่ที่สุด / ค่าเฉลี่ยของขนาดที่เข้าใกล้ Nนั้นถูกล้อมรอบด้วยฟังก์ชัน F (N) บางฟังก์ชันโดยที่ N เป็นตัวแปร
- การวิเคราะห์ค่าตัดจำหน่ายช่วยให้เราสามารถยืนยันได้ว่าความซับซ้อนของอัลกอริทึมเมื่อได้รับอินพุตของลักษณะที่ไม่รู้จัก แต่ขนาดที่ทราบ N นั้นไม่เลวร้ายไปกว่าค่าของฟังก์ชัน F (N) - โดยที่ N เป็นค่าที่ทราบ