递归算法

递归是指在函数的定义中使用函数自身的方法,其实递归就包含了两个意思:递和归,这就是递归的思想。

在数学上理解递归就用一个函数来表示,如下图所示

递归算法

用一个简单代码来实现一下递归算法。

递归算法

这是一个简单的阶乘用递归算法实现。当然也可以用非递归的方法实现。

递归算法

两个的结果显然是一样的

递归算法

第二个是一个循环实现阶乘,这两个的原理其实是差不多的,递归是重复试用子函数来实现功能,而非递归就是用循环来实现这个功能。

递归可以让代码看起来更简洁,而且可读性很强,在一些复杂程序中,递归反而能更容易的实现。