Hanoi 塔问题的经典递归算法虽然代码量小,但时间复杂度却是指数级的,而且难以理解。该文基于 Hanoi 塔问题的递归思想,构造出 Hanoi 塔的树模型,仔细分析递归函数的调用参数和语句执行时盘子移动的顺序,巧妙地找到两者之间的对应关系,从而提出一种新的自底向上非递归算法。该算法逐一地记录下 n 从1开始时盘子从源柱到目标柱时经历过的移动轨迹,进而直接应用到 n +1个盘子的移动问题。实验结果表明,该算法对应的代码易读且高效,时间复杂度降为O(n),是对 Hanoi 塔问题的非递归算法研究的进一步实践与探讨。