以下是几个最最常见的递归案例,也是最简单的递归算法题目,如果要深入学习并掌握递归算法,必须从这几个案例写起。首先说下递归三要素,即:
1.递归结束条件;2.递归方法体(递归函数),也就是这个方法需要解决什么问题;3.递归函数的等价关系。直接看案例吧:
一、斐波那契(Fibonacci)
1.定义:斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*),即一个数等于它前两个数之和。
2.代码实现:
package com.wzk.recursion.subject;
/**
* @author: wangzk
* &#