hanoi

var hanoi = function(disc, src, aux, dst){
    if(disc > 0){
        hanoi(disc - 1, src, dst, aux);
        console.log("Move " + disc + " from " + src + " to " + dst);
        hanoi(disc - 1, aux, src, dst);
    }
}

 

hanoi函数把一堆圆盘从一根柱子一到另一根柱子,必要时使用辅助的柱子。它把该问题分解成三个子问题。首先,他移动一队圆盘中娇小的圆盘到辅助柱子上,从而露出低下较大的圆盘。然后它就移动低下的圆盘到目标柱子上。最后,他将刚才较小的圆盘从辅助柱子上在移到目标柱子上。通过递归调用自身去处理一对圆盘的移动,从而解决那些子问题。

posted @ 2011-10-21 10:52  liyatang  阅读(225)  评论(0编辑  收藏  举报