2013-03-05 112 views

回答

2

分而治之從wikipedia

分而治之算法通過遞歸地將問題分解成相同(或相關)類型的兩個或更多子問題,直到這些問題變得足夠簡單以直接解決。從Wikipedia

迭代函數:

在這個過程中,從一些初始編號開始,施加給定函數的結果是在函數作爲輸入再次供給,並且重複此過程。

因此,他們並不相同

+0

謝謝... 但如何翻譯的東西比如: T(n)= 2T(n/2)+ N代碼,比方說C++代碼? 有沒有解決這個問題的方法? – AWT 2013-03-05 18:36:14

0

分而治之的算法會將問題分成更小的部分,然後解決更小的部分,然後聚合以獲得最終解決方案。

迭代算法是您嘗試通過遍歷整個問題來解決整個問題的地方。

這絕不是一個授權答覆。

感謝blackbear的建議。

斐波那契數列的迭代的例子是這樣的

http://en.literateprograms.org/Fibonacci_numbers_(Scala)

而且一分而治之的方法是這樣的

def fibo(n:Int):Int = { if(n==1 || n==0) 1 else fibo(n-1) + fibo(n-2)} 

希望這些例子可以添加更多的清晰度

+0

我想補充一對夫婦像合併排序和選擇排序的例子,典型TEACHED算法的OP應該知道 – BlackBear 2013-03-05 18:11:45