A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hurryup 高级黑马   /  2013-12-29 16:01  /  1161 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
    }
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

1 个回复

倒序浏览
好帖,我是来顶的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马