一、概念: 递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。递推分为顺推和逆推两种。
递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西。
顺推法:是指从已知条件出发,逐步推算出要解决问题的方法。例如:斐波拉契数列就可以通过顺推法不断递推算出新的数据。
逆推法:是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件,即顺推法的逆过程。
demo :
eg:斐波拉契数列
code:
/** * @declare 顺推法:是指从已知条件出发,逐步推算出要解决问题的方法。<br> * 例如:斐波拉契数列就可以通过顺推法不断递推算出新的数据。<br> * @author: cphmvp * @version: 1.0 * @date: 2014年7月29日上午9:58:52 */ public class Recurrence { public int fibonacci(int n) { int[] f = new int[n]; f[0] = 1; f[1] = 1; for (int i = 2; i < n; i++) { f[i] = f[i - 1] + f[i - 2]; } return f[n - 1]; } public static void main(String[] args) { Recurrence recurrence = new Recurrence(); int fibonacci = recurrence.fibonacci(10); System.out.println(fibonacci); } }