JAVA的递归问题及不懂值怎么算出来的

img


我想知道他调用方法f(20)之后不会重复使用方法f(19)+f(18)然后继续调用f()方法,他最后的值是怎么算的

递归算法就是把f(20)分解成N多个f(1)或者f(2),递归算法的计算量很大的

f(20)=f(19)+f(18)
f(19)=f(18)+f(17)
f(18)=f(17)+f(16)
......
数字小还能算一算,数字大了就不是手算能算的了

可以在方法进行前设置一个断点,然后Debug来看方法的运行过程