多项式的计算与 Horner 法多项式求值

//1
double Poly(double a[], double x, int degree)
{
        long int i;
        double result = a[0];
        double xpwr = x;
        for(i = 1; i <= degree; ++i){
                redsult += a[i] * xpwr;
                xpwr = x * xpwr;
        }  
        return result;
}
//Horner's method
double Polyh(double a[], double x. int degree)
{
        long int i;
        double result = a[degree];
        for(i = degree - 1; i >= 0; --i){
                result = a[i] + x * result;
        }
    return result;
}

同样的事情, 递归做起来就是比迭代神奇. 从代码上看, 递归有着更少的加法和乘法运算, 所以从效率上说, 递归是比迭代的效率......低的.

为什么呢? 假设机器猫和火影每一集有相同的信息量, 那么必然火影播一集所需要的时间更长, 为啥呢? 因为火影每集都有冗长的前情回顾, 回忆啊回忆啊就把时间回忆掉了. 一个道理, 每次迭代都是在做做相同的动作, 只是材料不一样了; 而每次递归都要把之前的步骤再来一遍, 所以一开始迭代和递归的效率区别还不明显, 但是当执行得越来越远的时候, 机器猫都把道具亮出来了, 火影还沉浸在回忆里呢.

以上.

转载于:https://www.cnblogs.com/wuOverflow/p/4169197.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值