我才刚刚开始学习算法分析和设计课程?我只想知道:迭代函数和分治函数有什么区别?它们是一回事吗?
发布于 2013-03-06 02:14:12
从wikipedia中分而治之:
分而治之算法的工作原理是将问题递归分解为两个或多个相同(或相关)类型的子问题,直到这些子问题变得足够简单,可以直接解决。
来自Wikipedia的迭代函数:
在此过程中,从某个初始数开始,将应用给定函数的结果作为输入再次馈送到该函数中,并重复此过程。
所以它们是不一样的
发布于 2013-03-06 02:09:45
分而治之的算法将问题分解成更小的部分,你解决这些更小的部分,然后聚合得到最终的解决方案。
迭代算法是您试图通过遍历整个问题来解决整个问题。
这绝对不是一个权威的回答。
感谢黑熊的建议。
斐波那契级数的迭代示例如下所示
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)}我希望这些例子更加清晰。
https://stackoverflow.com/questions/15230983
复制相似问题