递归——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);
}
关于递归:
①即用递归调用本身来实现迭代循环结构
②递归函数中必须包含可以终止递归调用的语句
③每一级函数调用都自己的私用变量


浙公网安备 33010602011771号