认识递归
递归是程序设计和算法学习中经常遇到的一类问题,递归解题本身也是很多比
赛中常用的一种解题方法,那么什么是递归呢,我们不妨从下面的小视频开始
我们的递归之旅。
https://www.zhihu.com/zvideo/1223322961979039744
相信通过上面的小动画,同学们应该对递归有了一个初步的了解了,等你学完
本节课再回头看看这个小动画,我相信你对递归肯定有一个更深入的理解。那
么究竟什么是递归,递归又能干什么呢?
何为递归
递归是指**在函数中调用函数本身**的现象。
以阶乘函数为例, 在 factorial 函数中存在着 factorial(n - 1) 的调用,所以此
函数是递归函数。
int factorial(int n)
{
if (n < =1)
return 1;
return n * factorial(n - 1);
}
Copy
进一步解释递归问题。“递”的意思是将问题拆解成子问题来解决, 子问题再拆
解成子子问题,.....,直到被拆解的子问题无需再拆分成更细的子问题(即可以
求解),“归”是说最小的子问题解决了,那么它的上一层子问题也就解决了,
上一层的子问题解决了,上上层问题自然也就解决了,....,直到最开始的问题解
评论0
最新资源