天天看点

从理解上来看,迭代和递归的区别

理解上,递归就是一直调用自身,自身是一个会变的函数。而迭代就是用一个函数遍历,遍历就是让某个值去一直变化,遍历到所有值。

比如斐波那契数列,递归就是一直调用f(n-1),而迭代就是让一个变量n一直变化去累乘。

再比如树的遍历,递归就是一直调用一个可以遍历当前的函数,而迭代就是用栈等方法遍历节点,节点为变量。