【发布时间】:2013-10-19 04:59:09
【问题描述】:
我已经看到关于递归函数的其他问题,并且我已经阅读了回复,但我仍然无法让算法在我的脑海中点击
var hanoi = function (disc, src, aux, dst) {
if (disc > 0) {
hanoi(disc - 1, src, dst, aux);
document.write('Move disc ' + disc + ' from ' + src + ' to ' + dst);
hanoi(disc - 1, aux, src, dst);
}
}
hanoi(3, 'Src', 'Aux', 'Dst');
document.write(...) 是如何运行的。我的逻辑是我们第一次运行函数 disc is > 3。然后我们再次递归调用该函数,跳过下面的所有内容,那么 document.write 如何获得运行的机会?
我了解递归(完成了基本示例),但我仍然看不到您如何获得输出。如果有一种方法可以让我直观地运行它并查看它的实际效果,那将有很大帮助。
【问题讨论】:
标签: javascript algorithm recursion