关于算法时间复杂度的小小疑问
上午在看这个小问题的时候被一个小问题迷惑了,比如:
1////// sum=0; (一次)
for(i=1;i<=n;i++) (n次 )
for(j=1;j<=n;j++) (n^2次 )
sum++; (n^2次 )
解:T(n)=2n^2+n+1 =O(n^2)
2//////////
for (i=1;i<n;i++)
{
y=y+1; ①
for (j=0;j<=(2*n);j++)
x++; ②
}
语句1的频度是n-1
语句2的频度是(n-1)*(2n+1)=2n^2-n-1
f(n)=2n^2-n-1+(n-1)=2n^2-2
该程序的时间复杂度T(n)=O(n^2).
////////////////////////////////////////////////////////
疑问:既然在算法1中for循环算作时间复杂度,分别为n和n^2,为什么在算法2中只是计算循环中的语句呢??十分不解。。。