递归(recursion)
0 引言
递归在编程中是一类很重要的思想,很多复杂问题通过递归的思想很容易就能化整为零,化繁为简。通常认为递归程序有三大要素:
- 明确递归函数的功能:接口是什么,返回什么,每个参数的含义是否是清晰的
- 寻找递归结束的条件
- 找出函数的等价关系式
1 实例分析
- example 1: 斐波那契数列
- int Fibonacci(int n);
- 斐波那契数列在n == 0 或者n == 1时结束;
- 等价关系式: Fibonacci(n) = Fibonacci(n - 1) + Fibonacci(n - 2);
- example 2: