//递归函数
int Fac (int n)
{
if(n==1||n==0)
return 1;
return Fac(n-1)*n;
}
//注意:Fac(n)=Fac(n-1)*n;error
//函数调用不可以作为左值
//时间复杂度
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=0;
f(n)=(1+n+n)+(1+n+n)*n+n*n=3*n^2+3*n+1
O(f(n))=O(n^2)
/*
时间复杂度
1. 只保留最高阶
2. 系数舍弃
*/
bool Fun(int n)
{
int i=2;
while((n%i)!=0&&i*1.0<sqrt(n))
i++;
if (i*1.0>sqrt(n))
return ture;
else
return flase;
}
时间复杂度O(n^1/2)
Int Fun(int n)
{
If(n<=1)
Return 0;
Return Fun(n-2)+1;
}
1 2 4 8 16 …
O(logn)
空间复杂度:实现该算法,需要的额外辅助空间和问题规模之间的函数关系。