不可否认,许多公司的面试中都会或多或少涉及到一些算法相关的概念,下面我们来看两个示例,更好的理解递归算法的应用。

斐波那契数列
斐波那契数列(Fibonacci sequence)是以意大利数学家莱昂纳多·斐波那契命名的数列,其特点是每一项等于前两项之和,通常表示为F(0)=0、F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2),数列形式为0、1、1、2、3、5、8、13、21、34......。
这个应该是非常简单的一个递归的应用了,对于许多高校中将 C 语言的时候一般都会提及,表达式为 Z = (n-2) + (n-1)
,相关的递归函数也非常好写,如下:
int fibonacci(int n) {
if (n == 1) {
return 1; // 递归出口
} else if (n == 2) {
return 1;// 递归出口
} else {
return (fibonacci(n - 1) + fibonacci(n - 2));
}
}
你,学会了吗?