我正在网上参加一门课程并坚持以下问题。以下代码片段的最坏情况运行时间的增长顺序是N的函数是多少?
int sum = 0;
for (int i = 1; i <= N*N; i++)
for (int j = 1; j <= i; j++)
sum++;
任何人都能解释一下吗?
答案 0 :(得分:1)
执行此操作取决于N的大小。
for (int i = 1; i <= N*N; i++)
i的值从1
到N*N
不等。内循环变量j
取决于i
因此对于每个i,内部循环执行i次。 sum++
将执行N 2 ((N 2 )+ 1)/ 2次。 O(N 4 )将是此循环的时间复杂度。
答案 1 :(得分:0)
代码将每次运行(N * N + 1)C2次