黑马程序员技术交流社区

标题: 关于时间复杂度的问题 [打印本页]

作者: hurryup    时间: 2013-12-29 16:01
标题: 关于时间复杂度的问题
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;
    }
}
作者: 汪洋大海    时间: 2013-12-29 17:30
好帖,我是来顶的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2