用Horner算法进行有效多项式评估

时间:2010-09-13 21:41:16

标签: algorithm performance polynomial-math computation

我有等式y = 3(x + 1)^ 2 + 5(x + 1)^ 4.

使用Horner方案,我可以用这种形式评估这个多项式,y = 8 + x(26 + x(33 + x(20 + 5x))),因此需要8次算术运算。

我也可以用这种形式评估它,y =(x + 1)^ 2 *((5x + 10)x + 8),需要7次操作。

我被告知这可以在5次操作中完成,但Horner的算法应该是最有效的,它只能在7次操作中完成。我错过了什么吗?

2 个答案:

答案 0 :(得分:6)

设a =(x + 1)^ 2,即2个操作。然后y = 3a + 5a ^ 2 = a(3 + 5a),另外3次操作,总共5次。

答案 1 :(得分:1)

3(x+1)^2 + 5(x+1)^4 = (x+1)^2[3 + 5(x+1)^2]

我可以在5个操作中做到这一点:

1) x+1
2) (x+1)^2
3) 5(x+1)^2
4) 5(x+1)^2 + 3
5) (x+1)^2[5(x+1)^2 + 3]