查找给定向量的质数的算法的时间复杂度

时间:2019-05-28 20:35:29

标签: c++ algorithm time big-o complexity-theory

我正在尝试查找以下算法的时间复杂度,该算法查找给定向量的素数。具体来说,我不确定最后一个for循环,其中嵌套了另一个循环。我认为它是O(sqrt(n)/ 2),然后其中的循环是O(n)?

F8

1 个答案:

答案 0 :(得分:0)

由基本sieve of Erastophene执行的工作几乎完全是剔除合成数字,并且需要

enter image description here

在您的情况下,您从i * i开始,这样可以有效地将每个素数的剔除操作次数减少i - 1。因此,我们需要计算直到nvsize)为止的所有素数。 This is

enter image description here

所以,渐近我们有

enter image description here

最后一个加号是number of primes less than n