รันไทม์ของอัลกอริทึมของเป้สะพายหลังไม่เพียง แต่ผูกไว้กับขนาดของอินพุต (n - จำนวนรายการ) แต่ยังรวมถึงขนาดของอินพุตด้วย (W - ความจุของเป้สะพายหลัง) O (nW) ซึ่งเป็นเลขชี้กำลังในลักษณะที่เป็น เป็นตัวแทนในการใช้คอมพิวเตอร์ในไบนารี (2 ^ n) ได้โดยเริ่มต้นในการคำนวณความซับซ้อน (เช่นวิธีการทำภายในเครื่องคอมพิวเตอร์ผ่านบิต) เป็นห่วงเพียง แต่มีขนาดของปัจจัยการผลิตที่ไม่ได้เป็นของเคาะ / ค่า
ไม่สนใจรายการค่า / น้ำหนักสักครู่ สมมติว่าเรามีอินสแตนซ์ที่มีความจุเป้ 2 W จะใช้เวลาสองบิตในข้อมูลอินพุต ตอนนี้เราจะเพิ่มความจุเป้เป็น 4 โดยคงส่วนที่เหลือไว้ ข้อมูลของเราเพิ่มขึ้นเพียงหนึ่งบิต แต่ความซับซ้อนในการคำนวณเพิ่มขึ้นสองเท่า ถ้าเราเพิ่มความจุเป็น 1024 เราจะมีอินพุตเพียง 10 บิตสำหรับ W แทนที่จะเป็น 2 แต่ความซับซ้อนเพิ่มขึ้นเป็น 512 ความซับซ้อนของเวลาเพิ่มขึ้นแบบทวีคูณในขนาดของ W ในการแทนเลขฐานสอง (หรือทศนิยม) .
อีกตัวอย่างง่ายๆที่ช่วยให้ฉันเข้าใจแนวคิดพหุนามหลอกคืออัลกอริธึมการทดสอบความเป็นจริงแบบไร้เดียงสา สำหรับจำนวนที่กำหนด n เรากำลังตรวจสอบว่ามันหารด้วยจำนวนเต็มเท่า ๆ กันหรือไม่ในช่วง2..√nดังนั้นอัลกอริทึมจึงใช้ขั้นตอน√ (n − 1) แต่ที่นี่ n คือขนาดของอินพุตไม่ใช่ขนาด
Now The regular O(n) case
ในทางตรงกันข้ามการค้นหาอาร์เรย์สำหรับองค์ประกอบที่กำหนดจะทำงานในเวลาพหุนาม: O (n) ใช้เวลามากที่สุด n ขั้นตอนและนี่คือขนาดของอินพุต (ความยาวของอาร์เรย์)
[ดูที่นี่]
การคำนวณบิตที่จำเป็นในการจัดเก็บเลขฐานสิบ