本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。
一方面用于学习记录与分享,
另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。
如有侵权,请留言作删文处理。
课程视频链接:
📚 【Week05】11_栈与递归
递归的定义
(1) 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的。
(2) 若一个过程直接或间接地调用自己,则称这个过程是递归的过程。
例如:递归求 n 的阶乘
long Fact(long n){
if(n == 0)
return 1;
else
return (n * Fact(n-1));
}
以下三种情况尝尝用到递归方法
(1) 递归定义的数学函数
阶乘函数

2 阶 Fibonaci 数列

本文介绍了递归的概念,通过阶乘和Fibonacci数列举例说明递归应用,并探讨了递归在解决数学函数、数据结构和特定问题(如迷宫、Hanoi塔)中的角色。此外,文章讨论了分治法作为递归问题的解决方案,以及如何通过循环转换递归以提高效率,包括尾递归和单向递归的转换示例。
最低0.47元/天 解锁文章
635

被折叠的 条评论
为什么被折叠?



