建議使用遞歸算法計算n個立方體在時間和空間效率方面的總和?比較非遞歸?建議使用遞歸算法計算n個立方體在時間和空間效率方面的總和?
0
A
回答
0
你究竟是什麼意思?總結前n個立方體最好通過計算(n^2 *(n + 1)^ 2)/ 4來完成,但是如果給出一個數列表來對它們的立方體進行求和,那麼這並不是一個可選方案。
如果您使用的是尾部調用優化的語言,則建議使用尾部調用遞歸實現。如果你不這樣做,如果你更容易推理(組織代碼的一個非常重要的方面),那麼編寫遞歸函數仍然值得。但請記住,深度n的遞歸將取決於您的語言,編譯器等,從4 * n到至少幾個100 * n字節的內存,並且堆棧空間不是無限的。
我會去大多數語言的循環。對於大n而言,因爲它更節約資源,對於小n而言,因爲我覺得比遞歸版本更容易閱讀。但是這與我的個人背景和經驗息息相關,對於您和其他任何需要使用您的代碼的人來說,更容易完全不同。
0
這取決於你想完成什麼。如果您希望它依賴於以前的結果,則可以使其遞歸。否則,我會建議讓它不遞歸。
0
大多數編譯語言有尾遞歸的簡單情況拆除和這樣將不會是一個問題。數學人員發現編寫函數式語言更容易,遞歸對他們來說更自然。但是,您可以可以非常有效地寫:
var sumOf0To10Cubes = Enumerable.Range(0, 10).Select(o => Math.Pow(o, 3)).Sum();
需要注意的是數學的人喜歡:
相關問題
- 1. 計算空間和時間一致性的有效方法
- 2. 計算N個功率的總和
- 3. 使用遞歸計算的總和LISP
- 4. 按小時計算的總和和計算百分比效率
- 5. 計算時間總和
- 6. 遞歸算法來計算平方根,立方根
- 7. n個空間中4個對象排列的遞歸算法
- 8. 遞歸算法的時間使用
- 9. 方法時間計算
- 10. 計算T(n)?算法效率(Python)
- 11. 如何計算第n個斐波那契數的遞歸計算時間?
- 12. 最好的大O時間效率總是與最佳相同遞歸解決方案的空間效率?
- 13. 建立從遞歸算法
- 14. python時間間隔算法總和
- 15. 遞歸,計算正整數的總和
- 16. 計算遞歸算法T(n)的時間複雜度= T(K)+ T(NK)
- 17. 使用SQL Server計算一個地方的總時間datetime
- 18. 計算求和的方法N
- 19. 方法和Thread.sleep之間的時間計算()
- 20. 使用while循環和遞歸方法計算Pi(Java)
- 21. 計算花費時間的總和
- 22. 遞歸算法的空間複雜度
- 23. 時間一個遞歸算法
- 24. 計算遞歸算法的時間複雜度。
- 25. 如何計算此遞歸算法的時間複雜度
- 26. WebGL中的空間時間立方體
- 27. 最有效的方法來計算這個總和python
- 28. 使計算一個立方體
- 29. 用mysql方法計算日期時間,使用rails方法
- 30. 貸款計算的遞歸方法
如果立方體是連續的,所以建議使用封閉的形式。 ((n(n + 1)/ 2)^ 2) – rici 2014-09-11 07:44:24
總是建議不要使用遞歸 – 2014-09-11 08:12:08