考虑以下代码:
for ( int j = 0; j < 2n; j++)
{
for ( int k = 0; k < n^3; k += 3)
sum++;
}
复杂度是否为O(n ^ 2)? for循环中的n ^ 3是否影响LARGE N的符号?
答案 0 :(得分:8)
O(N ^ 4)
sum ++被称为2 * n *(n ^ 3)/ 3次。
答案 1 :(得分:5)
如果你只考虑内部循环,它会被执行N ^ 3次
外部循环使内部循环执行N次,因此总复杂度= N * N ^ 3 = N ^ 4
答案 2 :(得分:2)
外循环具有O(2n)运算。
内循环具有O(n ^ 3)个运算。
程序一起具有O(n)* O(n ^ 3)= O(N ^ 4)。
答案 3 :(得分:1)
可以正式推断出确切的迭代次数和增长复杂度的顺序: