程序的运行时间T(n)是多少 实现这个算法 - 什么是总时间?
T(n)≈copC(n)。
sum = 0;
for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
sum++;
for (k=0; k<n; k++)
A[k] = k;
答案 0 :(得分:4)
嵌套循环
for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
sum++;
带来
n - outer loop
(n + 1) / 2 - inner loop
n * (n + 1) / 2 == 0.5 * (n^2 + n) == O(n^2)
操作。您可以实现更好的O(n)
例程:
sum = n > 0 ? n * (n + 1) / 2 : 0;
for (k = 0; k < n; k++)
A[k] = k;
答案 1 :(得分:1)
您的指示时间为sum++;
n(n+1)/2
次,指示时间为A[k]=k;
n
次。
总数为T(n)=(n^2+3n)/2
。
答案 2 :(得分:1)