使用霍纳算法进行高效多项式评估
我有方程 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 次操作完成,但霍纳的算法应该是最有效的,但它只能通过 7 次操作完成。我错过了什么吗?
I have the equation y = 3(x+1)^2 + 5(x+1)^4.
Using Horner's scheme I could evaluate this polynomial in this form, y = 8+x(26+x(33+x(20+5x))), thus requiring 8 arithmetic operations.
I could also evaluate it in this form, y = (x+1)^2 * ((5x+10)x+8), requiring 7 operations.
I've been told this can be done in 5 operations but Horner's algorithm is supposed to be most efficient and it can only do it in 7 operations. Am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
设 a = (x+1)^2,即 2 次操作。然后 y=3a + 5a^2 = a(3+5a),再进行 3 次操作,总共 5 次。
Let a = (x+1)^2, that's 2 ops. Then y=3a + 5a^2 = a(3+5a), 3 more ops for a total of 5.
3(x+1)^2 + 5(x+1)^4 = (x+1)^2[3 + 5(x+1)^2]
。我可以通过 5 次操作来完成:
3(x+1)^2 + 5(x+1)^4 = (x+1)^2[3 + 5(x+1)^2]
.I can do that in 5 operations: