以下代码的最坏情况运行时间

时间:2015-02-03 05:50:12

标签: java algorithm time-complexity

我正在网上参加一门课程并坚持以下问题。以下代码片段的最坏情况运行时间的增长顺序是N的函数是多少?

int sum = 0; 
for (int i = 1; i <= N*N; i++)   
    for (int j = 1; j <= i; j++)
        sum++;

任何人都能解释一下吗?

2 个答案:

答案 0 :(得分:1)

执行此操作取决于N的大小。

for (int i = 1; i <= N*N; i++)

i的值从1N*N不等。内循环变量j取决于i 因此对于每个i,内部循环执行i次。 sum++将执行N 2 ((N 2 )+ 1)/ 2次。 O(N 4 将是此循环的时间复杂度。

答案 1 :(得分:0)

代码将每次运行(N * N + 1)C2次