1

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

4

2 回答 2

2

分而治之来自维基百科

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

来自维基百科的迭代函数:

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

所以他们不一样

于 2013-03-05T18:14:12.123 回答
0

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

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

这绝不是权威的答复。

感谢黑熊的建议。

斐波那契数列的迭代示例是这样的

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

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

于 2013-03-05T18:09:44.737 回答