迭代函数 - 分而治之功能

时间:2013-03-05 18:06:28

标签: algorithm

我刚开始学习算法分析和设计课程? 我只是想知道: 迭代函数和分而治之功能有什么区别? 它们是一样的吗?

2 个答案:

答案 0 :(得分:2)

wikipedia划分并征服:

  

分而治之算法通过递归地将问题分解为相同(或相关)类型的两个或更多个子问题来工作,直到这些子问题变得足够简单直接解决。

来自Wikipedia的迭代函数:

  

在此过程中,从某个初始数开始,应用给定函数的结果再次作为输入馈送到函数中,并重复此过程。

所以他们不一样

答案 1 :(得分:0)

分而治之的算法会将问题分解成更小的部分,然后解决较小的部分然后聚合以获得最终的解决方案。

迭代算法是您尝试通过遍历整个问题来解决整个问题的地方。

这绝不是一个有效的回复。

感谢blackbear的建议。

Fibonacci系列的迭代例子就是这样的

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)}

希望这些例子增加更多清晰度