一张图搞懂递归
关于递归,自己在纸上推了半天能绕半天,终于看到一张足以清晰的图了。膜拜!!!
Recursion
例1,计算n!
n!= 1 * 2 * 3 * ... * n
代码:
int Factorial(n){
if (n <= 1)
return 1;
return n * Factorial(n-1);
}
DuangDuangDuang 重点来啦~
例2,计算F(n) = F(n-1) + F(n-2)
Fibonacci array:1, 1, 2, 3, 5, 8, 13, 21, 34,...
代码:
int fib(n){
if (n == 0 || n == 1)
return n;
return fib(n-1) + fib(n-2);
}
放大招了……fib(6)
致谢
极客时间:算法面试通关40讲