标签: time-complexity
我必须为以下代码找到大O:
for(int i=0; i<n; i++) // O(n) if(n*f(i)+1>0) // O(n*log(n)) for(int j=f(i);j<n;j++) //O(n^2*log(n)) g(j); // O(n^3*log(n))
函数f的O是O(log(n)),函数g是O(n)
在评论中我写了我的计算但不确定它们是否正确。
答案 0 :(得分:0)
让
然后内循环是(忽略一个):
O(n^2)给出了i < n。
O(n^2)
i < n
外循环启动条件是 ,其中a是常数= log的基数。指数应该非常小(虽然取决于lambda的值),因此条件应为<< n。
a
log
lambda
<< n
因此,复杂性为O(n^3)。
O(n^3)