秦九韶算法--求n次多项式

一般地,一元\(n\)次多项式的求值需要经过\(\dfrac{(n+1)\times n}{2}\)次乘法和\(n\)次加法,而秦九韶算法只需要\(n\)次乘法和\(n\)次加法。在人工计算时,一次大大简化了运算过程。
把一个\(n\)次多项式,改写成如下形式:
\(f(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0\)


\(f(x)\)
\(=a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0\)
\(=(a_nx^{n-1}+a_{n-1}x^{n-2}+...a_2x+a_1)x+a_0\)
\(=((a_nx^{n-2}+a_{n-1}x^{n-3}+...+a_3x+a_2)x+a_1)x+a_0\)
\(=...\)
求多项式的值时,首先计算最内层括号内一次多项式的值,即
\(v_1=a_n*x+a_{n-1}\)
然后由内向外逐层计算一次多项式的值,即
\(v_2=v_1x+a_{n-2}\)
\(v_3=v_2x+a_{n-3}\)
...
\(v_n=v_{n-1}x+a_0\)
这样,求\(n\)次多项式\(f(x)\)的值就转化为求\(n\)个一次多项式的值。
结论:对于一个\(n\)次多项式,至多做\(n\)次乘法和\(n\)次加法。

猜你喜欢

转载自www.cnblogs.com/liuziwen0224/p/qinjiushao.html