001-算法-递推法

一、概念: 递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。递推分为顺推和逆推两种。

递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西。

顺推法:是指从已知条件出发,逐步推算出要解决问题的方法。例如:斐波拉契数列就可以通过顺推法不断递推算出新的数据。

逆推法:是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件,即顺推法的逆过程。
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);

    }

}

 

你可能感兴趣的:(算法)