Loops 嵌套循环的大O
另一个大问题是O,但我还是无法理解:Loops 嵌套循环的大O,loops,big-o,nested-loops,Loops,Big O,Nested Loops,另一个大问题是O,但我还是无法理解: for (int i = 0; i < n; i++) for (int j = 0; j < n * n; j++) for (int k = 0; k < j; k++) //do sth for(int i=0;i
for (int i = 0; i < n; i++)
for (int j = 0; j < n * n; j++)
for (int k = 0; k < j; k++)
//do sth
for(int i=0;i
我的想法是:外环是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)
。正确吗?循环迭代的总量是(n5)
是的,没错。此外,这一点大致可以用以下公式来回答: