public class Test {
//求高人解答递归与循环算法的时间复杂度,到底存在什么区别?
//计算以x为底得n次幂,n为非负整数。
//循环算法的时间复杂度为o(n),递归算法的时间复杂度为o(log n),效率比循环高吗?
//如何比较两者的算法复杂度,有没有什么公式啊
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Test().power1(4,7));
}
//递归算法
public int power(int x,int n)
{
int y = 0;
if(n==0)
{
y=1;
}else
{
y=power(x,n/2);//若为偶数项次
y=y*y;
if(n%2==1)//若为奇数项次
{
y=y*x;
}
}
return y;
}
//循环算法
public int power1(int x,int n)
{
int y=1;
for(int i=n;i>0;i--)
{
if(n==i)
{
y=x*y;
}else
{
y=y*x;
}
}
return y;
}
} |