(→斐波那契数列) |
无编辑摘要 |
||
第1行: | 第1行: | ||
'''递归(Recursion)'''是指函数的定义中使用函数自身。 | '''递归(Recursion)'''是指函数的定义中使用函数自身。 | ||
== 递归与递推的区别 == | |||
以已知的“问题边界”为起点像“原问题”正向推导的扩展方式就是递推。 | |||
以原问题为起点尝试寻找把状态空间缩小到已知的“问题边界”的路线,再通过该路线反向回溯的便利方式就是递归。 | |||
== 例子 == | == 例子 == | ||
=== 斐波那契数列 === | === 斐波那契数列 === |
2022年2月18日 (五) 16:25的版本
递归(Recursion)是指函数的定义中使用函数自身。
递归与递推的区别
以已知的“问题边界”为起点像“原问题”正向推导的扩展方式就是递推。
以原问题为起点尝试寻找把状态空间缩小到已知的“问题边界”的路线,再通过该路线反向回溯的便利方式就是递归。
例子
斐波那契数列
int fib(int n) {
if(num < 1)
return 0;
if (n < 3)
return 1;
return fib(n - 1) + fib(n - 2);
}