0
0
已采纳
江见匀
新手光能
新手光能
我2.3 2.6 2.9 2.8都没
其他都有
你要么
江见匀在2020-11-13 18:55:57追加了内容
一、递归的定义
递归( Recursion),是指在函数体中直接或间接调用函数自身的方法。
假设有一个函数f(),在函数体中调用本身:
f(){
f()
}
就构成了一个递归。
二、递归的意义
一个函数本来就是用来实现某种功能,或解决某类问题的,那递归为什么要函数再调用函数自己去解决问题呢?
这是因为解决的问题规模会不一样,举个例子:
在漆黑的电影院里,每个人坐在座位上,但是不知道自己在第几排。某排(第n排)有个人想知道自己在第几排,就问他前面一排的人的排数,前面的人也不知道,于是也去问他前面的人的排数 …… 直到问到第1排,第1排的人知道自己就是第1排(前面没人了),于是他就告诉第2排的人他是1,这样第2排的人就推知自己是2,再告诉第3排的人他是2,…… 最后第n-1排的人告诉第n排的那个人自己是n-1,于是最后那个人推知自己是第n排。
三、递归的要素
-
【递】
即递推关系:根据某种方法,对问题进行拆分。 -
【归】
即终止条件:到达某种条件,问题可以直接求解,此时到达递归的边界,然后依次组合出原来大问题的解。
江见匀在2020-11-13 18:57:40追加了内容
一、递归问题的解法
1. 如何确定递归问题
一个问题可以拆分成更细小的问题,并且拆分出的问题解结合起来就是原问题的解。拆分出的问题与原问题的本质相同,只是问题规模不同。这样的问题可以看作递归问题。
2. 递推问题的一般解法
1)确定终止条件
当问题不能继续拆分时,需要有一个最基本的解。
这保证了递归函数可终止,不会无限调用自身。
2)确定递推关系
考虑当前问题的解如何由更小规模的问题解推出来。
江见匀在2020-11-13 19:05:07追加了内容
一、递推转递归
递推与递归的相同点是:
- 都要有递推关系
- 都要有边界
所有递推问题都可以用递归的方法来求解。
0
0
0
0
张灵
高级守护
高级守护
0
0
0