递归算法

递归算法也算是比较常用的一种算法,网上有许多递归的说法,个人觉得就是简单的一句话,自己调用自己,直到在某一刻不满足条件的时候跳出,其实本质上还是循环,所以可以说所有的递归写法都可以用for循环来写,那为什么还要用递归写法呢,是因为代码简单,便于阅读,当然也有人说易于理解,看咋么说呢,如果本身就觉得递归比较难,那还不如用循环直接做,先实现再想优化,递归就是循环的优化,那么接下来就举个比较常见的阶乘的例子:
递归算法
大概的阶乘的程序如上图,本质上我们可以认为return最后返回的还是1098765432*1,是不是很简单呢;
注意:
1、一定要跳出循环的条件,不然就成死循环了,前面提过本质上,所有的递归都可以使用循环来写
2、注意临界值的处理,比如如果计算1的阶乘的时候,如果没有num==1的话,直接就等于0了。