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))
这是对的吗?
答案 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))