递归

 

递归指的是调用自己的函数。
每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。

 

构成递归需具备的条件

1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
 
 
例:
private static void countdown(int i) {
    System.out.println(i);

    // base case
    if (i <= 0) {
        return;
    } else {
        countdown(i - 1);
    }
}

public static void main(String[] args) {
    countdown(5);
}

 

posted @ 2018-06-03 16:53  草木物语  阅读(211)  评论(0编辑  收藏  举报