请分析下列算法的时间复杂度。(要求写出分析过程)

请分析下列算法的时间复杂度。(要求写出分析过程)
1、
int Maxsum(int n, int a, int &besti, int &bestj)
{ int sum = 0;
for(int i=1; i<=n; i++){
int suma = 0;
for(int j=i; j<=n; j++){
suma + = a[j];
if(suma > sum){
sum = suma;
besti = i; bestj = j;
}
}
}
return sum;
}
2、
i=1;
k=0;
while(i<n) {
k=k+10*i;
i++;
}
3、
y=0;
n=100;
while ((y+1)*(y+1)<n) y++;

第1个回答  2009-12-29
1.两重循环for(int i=1; i<=n; i++)
for(int j=i; j<=n; j++)
循环次数为 n(n+1)/2,即时间复杂度为O(n^2).
2.O(n);
3.O(根号n).本回答被提问者采纳