我正在经历一些面试问题,并偶然发现了这个问题。 p(x)= a0 + a1x + a2x^2 + ... + anx^n。你可以用什么算法来计算O(N^2)中p(x)的值?我对如何解决这个问题完全无能为力。算术算法
Q
算术算法
2
A
回答
4
您可以在O(N)
直接评估或Horner's method。用于各种操作的复杂性和所涉及的方法的有用的图表可以在这里找到:
Computational complexity of mathematical operations
Horner的方法是,优化形式(A + Bx的),其使用本机进行评价的“子表达式的串行过程在某些体系结构上乘加指令“。更平行的版本是Estrin's scheme。
由于您可以在O(N)
时间内计算p(x)
,因此您可以使用此方法N
来实现O(N^2)
(如果那真的是您之后的......)。
1
由于每个学期都是独立的,有N个条件,必须执行O(N)
计算多项式项。由于最差的演员任期为(a_n)*(x^n)
,而x^n
可以在O(N)
中计算出来,因此您确切地具有O(N^2)
时间来实现算法的天真实施。
然而,有些技巧在小于O(N)的时间内计算x^n
,因此您可以做得更好:请参阅an implementation of pow()。另外Hoener的方法如其他答案所描述的那样提供了一个快速的实现,其时间是O(N)
,因此也是O(N^2)
时间。
相关问题
- 1. PHP算术运算(加法)
- 2. 浮法算术
- 3. 算术运算
- 4. 算术运算
- 5. 算术运算
- 6. 算术运算
- 7. 算术计算
- 8. 算术运算
- 9. CSH算术运算
- 10. BCD算术运算
- 11. 算术运算符
- 12. MySQL:算术运算符乘法
- 13. 伪多项式算法 - 算术
- 14. 在算术代码算法,C++
- 15. 算术溢出与算术运
- 16. Facebook的Bigpipe技术算法
- 17. 算术语法错误
- 18. SQL语法与算术
- 19. 算术表达式语法
- 20. Prolog的算术语法
- 21. 算法设计技术
- 22. 算术语法错误
- 23. IndexedDB中的算术运算
- 24. C#中的算术运算
- 25. 位运算符算术
- 26. 动态算术运算符
- 27. 计数算术运算
- 28. 算术运算的JavaScript
- 29. 无效的算术运算
- 30. 推广算术运算符
哪个值?我还认为你的意思是p(x)= a0 + a1x + a2x^2 + ... + anx^n。 –
那是什么工作? – 2012-09-05 16:49:31
P(x)的值和是的,这就是我的意思 –