递归是从上向下逐步拓展需求,最后从下向上运算,即由f(n)拓展到f(1),再由f(1)逐步算回f(n)。迭代是直接从下向上运算,由f(1)算到f(n)。递归是在函数内调用本身,迭代是循环求值,对于熟悉其他算法的读者不推荐使用递归算法。
虽然递归算法的效率低一点,但是递归便于理解、可读性强,随着现在计算机性能的提升,建议对其他算法不熟悉的初学者使用递归算法来解决问题。