关于汉诺塔非递归算法的一点思考

前段时间做编译课设时老师提到了汉诺塔的非递归不容易做出来,于是我趁着寒假有点时间就想试着搞一搞。下面我把我的一些草稿先列出来,以免以后忘记。

下面这个模型是适合于偶数个盘片的情况的。奇数的情况类似可得。

根据图1,我把每三个输出(如ab,ac,bc表示表示盘片从a移到b上,盘片从a移到c上,盘片从b移到c上)用一个数来标记,这里我把它标记为1,具体见图2。

然后根据递归算法下的输出来导出一些数据。

根据导出的数据,每24个输出为一个单位,得到8个数字,每8个数字之间会形成规律,再对这种规律进行分析即可。

由于我还不会把递归算法的数据自动导出为数字,所以这些工作还没有完结,以后会导出了再来继续解决。

=



posted @ 2017-01-26 21:25  凝视深空  阅读(200)  评论(0编辑  收藏  举报