【发布时间】:2020-10-05 13:09:44
【问题描述】:
另一个大问题,但我无法理解:
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)。对吗?
【问题讨论】:
-
是的,没错。另外,stackoverflow.com/questions/362059/… 大致回答了这个问题
标签: loops big-o nested-loops