我正在經歷一些面試問題,並偶然發現了這個問題。 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)的值和是的,這就是我的意思 –