另一个大问题,但我无法解决这个问题:
for (int i = 0; i < n; i++)
for (int j = 0; j < n * n; j++)
for (int k = 0; k < j; k++)
//do sth
我的想法:外部循环是O(n)
。中间是O(n^2)
。但是,内部取决于中间,因此对于每个j,k都将运行1+2+3+...+n = [n^2(n^2+1)]/2
,它与O(n^4)
相同。
因此,中间部分的运行时间为O(n^2)
,而实际上部分的运行时间为O(n^4)
。这将导致O(n^5)
。正确吗?
答案 0 :(得分:0)
循环迭代的总数为Θ(n 5 )。