查找和检查质数的复杂性是什么?

时间:2018-07-01 01:03:30

标签: ruby algorithm big-o

我正试图弄清我编写的但无法理解的这两个函数的复杂性。

首先,我认为应该是selectedSauce。但是不清楚循环运行了多少次,因为我不知道可以找到多少个质数。

event.target.value

在第二个函数中,它应该是O(N)

def self.find_primes(n)
    primes = []
    total = 0
    i = 2

    while total < n do
      if is_prime i
        primes.push i
        total += 1
      end

      i += 1
    end

    primes
end

1 个答案:

答案 0 :(得分:1)

外部循环为O(N)。内循环是O(N / 2),也就是O(N)。因此,整个函数为O(N ^ 2)。知道可以找到的素数数量不会影响时间复杂度,因为时间复杂度是N的函数,即,它随N的增加或减少。