递归算法

一.简介

二.数乘

假如我们键入5这个数字,那个应该是这样求解的。

推导过程:
5*a    4*b   3*c  2*d  1*e

1*e=1*1

d=1*e

c=2*d

b=3*c

a=4*b


依次类推 3*2=6   4*6=24  5*24=120


所以最后的答案就是120了

三.斐波那契数列

参考: 剑指Offer:斐波那契数列

假设n=6

F(5)*F(4)相当于a*b

F(5)=F(4)*F(3)

F(4)=F(3)*F(2)

F(3)=F(2)*F(1)

四.总结

递归本质上也是二叉树的数据结构,根据两个父节点的计算,推导出各个子节点,从最底层的子节点,再计算出根节点的数值

(1)当到达某个条件的时候,递归返回一个常量数值,拥有边界值

(2)根据最后边界值的参数来定最开始的变量参数,每次递归调用自身并且改变这个变量参数,直至变成边界值

原文地址:https://www.cnblogs.com/k5bg/p/11064740.html