ขณะนี้ฉันกำลังทำงานที่ได้รับมอบหมายซึ่งเกี่ยวข้องกับ Big-O และเวลาทำงาน ฉันมีคำถามหนึ่งข้อนี้ที่ดูเหมือนจะง่ายมาก แต่ฉันไม่แน่ใจว่าฉันทำถูกต้องหรือไม่ ปัญหาที่เหลือค่อนข้างยาก และฉันรู้สึกเหมือนกำลังมองข้ามบางสิ่งบางอย่างที่นี่
อันดับแรก คุณมีสิ่งเหล่านี้: อัลกอริทึม A ซึ่งมีเวลาในการทำงาน 50n^3 คอมพิวเตอร์ A ซึ่งมีความเร็ว 1 มิลลิวินาทีต่อการทำงาน คอมพิวเตอร์ B ซึ่งมีความเร็ว 2 มิลลิวินาทีต่อการทำงาน ตัวอย่างขนาด 300.
ฉันต้องการค้นหาว่าอัลกอริทึม A ใช้เวลานานเท่าใดในการแก้ไขอินสแตนซ์นี้บนคอมพิวเตอร์ A และใช้เวลานานเท่าใดบนคอมพิวเตอร์ B
สิ่งที่ผมอยากทำคือต่ำกว่า 300 ใน n คุณจะได้ 50*(300^2) = 4500000
จากนั้นให้คูณ 1 สำหรับคอมพิวเตอร์เครื่องแรก และ 2 สำหรับคอมพิวเตอร์เครื่องที่สอง
สิ่งนี้รู้สึกแปลกสำหรับฉัน เพราะมันบอกว่า "เวลาทำงาน" คือ 50n^3 ไม่ใช่ "จำนวนการดำเนินการคือ 50n^3" ดังนั้นฉันจึงรู้สึกว่าฉันกำลังคูณครั้งต่อครั้ง และจะ ลงเอยด้วยหน่วยมิลลิวินาทียกกำลังสอง ซึ่งดูเหมือนไม่ถูกต้องเลย
ฉันต้องการทราบว่าฉันพูดถูกหรือไม่ และหากไม่จริง คำถามหมายถึงอะไร