时间复杂度O(n)的计算
我们通过以下几个例子来说明:时间复杂度计算方法:
for (i = 0; i < N; ++i)
{
printf ("%d\n",i);
}
这个程序的频度是n,所以它的O(n)=n
i = 1;
while (i <= n)
i = i*2;
这个程序的运行的次数取决于i,2的i次方<=n,所以频度是log2n,O(n)=log2n
for (i = 0; j < N; ++i)
{
for (j = 5; j < N; ++i)
{
printf ("%d\n", j);
}
}
这个程序频度是n*(n-5),所以O(n)=n*n
int fact (int n)
{
if (n == 1)
{
return 1;
}
else
return n*fact(n-1);
}
这个程序是递归程序,O(n)=n