一张图搞懂递归

一张图搞懂递归

关于递归,自己在纸上推了半天能绕半天,终于看到一张足以清晰的图了。膜拜!!!

Recursion

例1,计算n!

n!= 1 * 2 * 3 * ... * n
代码:

int Factorial(n){
	if (n <= 1)
		return 1;
	return n * Factorial(n-1);
}

DuangDuangDuang 重点来啦~

一张图搞懂递归_第1张图片

例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)

一张图搞懂递归_第2张图片

致谢

极客时间:算法面试通关40讲

你可能感兴趣的:(C++基础,算法和数据结构)