De Wikipedia:
La complexité de l'algorithme réside dans
O(n(logn)(loglogn))les opérations sur les bits.
Comment y arrivez-vous?
Que la complexité inclut le loglognterme me dit qu'il y a un sqrt(n)quelque part.
Supposons que j'exécute le tamis sur les 100 premiers nombres ( n = 100), en supposant que le marquage des nombres comme composites prend un temps constant (implémentation du tableau), le nombre de fois que nous utilisons mark_composite()serait quelque chose comme
n/2 + n/3 + n/5 + n/7 + ... + n/97 = O(n^2)
Et pour trouver le prochain nombre premier (par exemple pour sauter après 7avoir barré tous les nombres multiples de 5), le nombre d'opérations serait O(n).
Donc, la complexité serait O(n^3). Êtes-vous d'accord?