函数的递归调用(重点、难点)
1、递归调用:函数自己调用自己(即在函数的函数体语句中调用自己)
2、递归算法:
(1)用递归方式解决问题的前提
a、问题可以进行分解,分解得到的新问题的解法与原问题的解法相同
b、问题的分解过程必须有明确的结束条件
(2)递归的过程
a、自上而下分解问题:得到最简单的问题的解
b、自下而上回溯得到原问题的解
3、代码实现:
//用递归函数计算 n!
function fun(n){
//1.明确递归结束的条件
if(n==1){
return 1
}else{
//2.继续分解n
return n * fun(n-1) //函数自己调用自己:在调用过程分解问题
}
}
let m = fun(5)
console.log('5!=',m)
本文介绍了递归调用的概念,包括如何通过递归解决复杂问题,强调了递归解题的两个关键条件:问题可分解及存在明确的结束条件。以计算阶乘的递归函数为例,展示了如何自上而下分解问题并自下而上回溯得到最终解。递归函数在计算n!时,当n等于1时结束递归,否则将n乘以fun(n-1)的结果。通过这个实例,读者可以深入理解递归算法的工作原理。
2295

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



