递归——Hanoi塔(分治递归)

/* Hanoi塔递归实现 */
var x='x',y='y',z='z',n=3;
Hanoi(x,y,z,n);

function Hanoi(x,y,z,n){
if(n==1)
move(x,z);     //x上只有一块 直接移动到z
else{
Hanoi(x,z,y,n-1);  //将n-1块借助z轴移到y轴
move(x,z);      //x轴上仅剩1块,直接从x轴搬到z轴
Hanoi(y,x,z,n-1);  //再将y轴上的n-1块借助x轴搬到z轴
}
}
function move(x,z){
console.log(x+"==>"+z);
}

关于递归:

①即用递归调用本身来实现迭代循环结构

②递归函数中必须包含可以终止递归调用的语句

③每一级函数调用都自己的私用变量

 

posted @ 2020-11-08 13:58  活到老学到老的李小小  阅读(158)  评论(0)    收藏  举报