4
ความซับซ้อนของเวลาของอัลกอริทึม Sieve of Eratosthenes
จากWikipedia: ความซับซ้อนของอัลกอริทึมคือ O(n(logn)(loglogn))การดำเนินการแบบบิต คุณมาถึงจุดนั้นได้อย่างไร? ความซับซ้อนรวมถึงloglognคำที่บอกฉันว่ามีsqrt(n)ที่ไหนสักแห่ง สมมติว่าฉันใช้ตะแกรงกับตัวเลข 100 ตัวแรก ( n = 100) โดยสมมติว่าการทำเครื่องหมายตัวเลขเป็นแบบผสมต้องใช้เวลาคงที่ (การใช้อาร์เรย์) จำนวนครั้งที่เราใช้mark_composite()จะเป็นดังนี้ n/2 + n/3 + n/5 + n/7 + ... + n/97 = O(n^2) และเพื่อหาตัวเลขที่สำคัญถัดไป (เช่นการกระโดด7ข้ามจากตัวเลขทั้งหมดที่มีหลายรายการ5) O(n)จำนวนของการดำเนินงานจะเป็น O(n^3)ดังนั้นความซับซ้อนจะเป็น คุณเห็นด้วยไหม?