例如:(斐波拉切数列的函数):
int fib(int n)
{
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
通过记忆化搜索或者动态规划的想法,进行优化:
int memo[MAX_N + 1]
int fib(int n)
{
if (n <= 1) return n;
if (memo[n] != 0) return memo[n];
return memo[n] = fib(n - 1) + fib(n - 2);
}