河内塔怎么玩?

河内塔的玩法如下:

1,有三个相邻的列,编号为A,B,C,B,C。

2.n个大小不同的圆盘从下到上叠成金字塔形放在柱子A上..

3.现在把所有的盘子一个一个的移动到B列,每次移动同一个列,你就看不到一个大盘子在一个小盘子上面。

河内塔的由来

法国数学家爱德华·卢卡斯(Edward lucas)曾写过一个古印度传说:在世界中心贝拿勒斯(印度北部)的神庙里,一个黄铜盘子上有三根宝石针。

印度教主神梵天创造世界时,从下到上把64块由大到小的金子放在其中一根针上。这就是所谓的河内塔。无论白天黑夜,总有一个和尚按照以下规则移动这些金片:一次只移动一片,不管在哪根针上,小的那片必须在大的那片上。僧人预言,当所有的金片从梵天佩戴的那根针上移到另一根针上时,世界将在一声霹雳中毁灭,梵天、寺庙和一切众生将同归于尽。

文献[4]指出汉诺塔问题的递归算法代码与二叉树的中序遍历算法代码非常相似,于是采用二叉树的中序遍历,发现汉诺塔问题的算法步骤可以画成一棵完整的二叉树,其中的序遍历过程就是汉诺塔问题的算法步骤。

函数移动(N-1,s,e,t)?n:多少个盘子?,s:起始堆e:目标堆t:过渡堆