编程之战_第七十三章 汉诺塔(下) 首页

字体:      护眼 关灯

上一章 目录 下一章

   第七十三章 汉诺塔(下) (第1/1页)

    铜板上,三根宝石针折射出夺目的光芒,在杨成眼中却是另一番景象。

    在他的脑海中,装载有金片的宝石针,被命名为A,其他两根,则是B和C。

    A宝石针上的三块金片,从小到大,从上而下,编号为1,2,3。

    那这个问题就可以阐述为,将宝石针A上的所有金片,移到B上,并且按照同样的顺序叠置。

    嗯,就是这样!

    杨成脑海中继续进行推演。

    按照汉诺塔问题的解法,先将宝石针A,B,C排成一个三角形。

    A->B->C->A

    这样就构成了一个顺时针循环。

    接着,算法如下:

    在移动金片的过程中,如果是奇数次移动(比如说第一次),将最小的金片移到顺时针方向的下一根宝石针上。

    比方说第一次移动,就是将A1移到B。

    如果是偶数次移动,则保持最小的金片不动,而在其他两根宝石针之间,将较小的金片移到另一根上面去。

    比方说第二次移动,此时最小的金片在B,保持不动,而将A2移到C。

加入书签 我的书架

上一章 目录 下一章