时间复杂度对数

时间:2017-01-09 20:06:48

标签: java time structure complexity-theory

for(i = 1; i < n; i *= 2) {
    sum++;
    for(j = 0; j < n; j += 2)
        total++;
}

时间复杂度:

O(log(n))
O(log(n))
O(n)*O(log(n))
O(n)*O(log(n))

所以最终答案是:O(log(n))

这是对的吗?

2 个答案:

答案 0 :(得分:1)

复杂性将是这样的:

O(lgN)
    O(1)
    O(N/2) == O(N)
         O(1)

所以复杂性是:

  

这是最终答案O(lgN)*(O(1)+ O(N)* O(1))

     

O(N)* O(1)= O(N)(1)

     

O(N)+ O(1)= O(N)(2)因为O(N)大于O(1)

     

假设(1)&amp; (2)最终答案为O(lgN)* O(N)= O(N lgN)

答案 1 :(得分:1)

复杂性为:O(n)* O(lg(n))