【发布时间】:2017-07-26 01:26:56
【问题描述】:
我在确定迭代依赖于外部循环的两组代码示例的 Big O 运行时间时遇到了一些麻烦。我对 Big O 运行时间有基本的了解,并且可以计算出更简单代码示例的运行时间。我不太确定某些行是如何影响运行时间的。
我会考虑第一个 O(n^2)。不过,我不确定。
for(i = 1; i < n; i++){
for(j = 1000/i; j > 0; j--){ <--Not sure if this is still O(n)
arr[j]++; /* THIS LINE */
}
}
我对这个有点迷茫。 O(n^3) 可能 O(n^2)?
for(i = 0; i < n; i++){
for(j = i; j < n; j++){
while( j<n ){
arr[i] += arr[j]; /* THIS LINE */
j++;
}
}
}
我找到了这篇文章并将其应用于第一个代码示例,但我仍然不确定第二个。 What is the Big-O of a nested loop, where number of iterations in the inner loop is determined by the current iteration of the outer loop?
【问题讨论】: