多项式求值

多项式求值

对于多项式\(f[n]=a[n]\cdot x^n+a[n-1]\cdot x^{n-1}+\cdots +a[1]\cdot x+a[0]\)

普通求法:

  double f(int a[],int n,double x)
{
    double p=a[0];
    for(int i=1;i<=n;i++)
         p+=(a[i]*pow(x,i));
    return p;
}

秦九韶算法:

double f(int a[],int n,double x)
{
    double p=a[n];
    for(int n;i>0;i--)
        p=p*x+a[n-1];
    return p;
}

\[f[n]=a[n]\cdot x^n+a[n-1]\cdot x^{n-1}+\cdots +a[1]\cdot x+a[0]
\\
=(a[n]\cdot x^{n-1}+a[n-1]\cdot x^{n-2}+\cdots +a[1])\cdot x+a[0]
\\
=(\cdots((a[n]\cdot x+a[n-1])\cdot x+\cdots+ a[1])\cdot x+a[0]
\]

秦九韶算法的思想我觉得还是将之前已经处理过的项,物尽其用,使下一项的计算作用到上一项里,让前后两项并行处理。和枚举中提过的最大子列和的算法二,有异曲同工之妙。

原文链接: https://www.cnblogs.com/Degree37/p/12541514.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    多项式求值

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/336725

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午10:47
下一篇 2023年3月1日 下午10:47

相关推荐