关于递归

2017-06-27  本文已影响0人  ANoman_M

设计递归算法可以分为以下几个步骤

确定递归条件

根据递归条件确定是否进行下一次递归。
如果是,则调用函数自身。并且用flag接住下一次递归的结果。并且返回这个结果。
并且需要捕捉下一次递归的返回结果。并且返回这个结果。
所以,一个可行的递归算法结构如下:
var flag = false;
recursion(xxx,xxx,flag){
var newResult = null;
for(var i=0;i<xx.length;i++){
.....
newResult = ....;
if(.......){ //终止条件
flag = true; (如果满足条件,表示可以返回最终结果,停止递归。)
}
}
if(flag){
return ..... //返回需要的结果
}else{
if(xxx){ //递归条件,可以控制递归次数。不至于无限循环。
flag = recursion(newResult,....,flag);
return flag
}else{
alert("无法找到正确结果!")
return null
}
}
}

上一篇 下一篇

猜你喜欢

热点阅读