首页 > 编程知识 正文

汉诺塔递归算法图解,汉诺塔递归函数运行示意图

时间:2023-05-04 15:58:07 阅读:153228 作者:4819

java汉诺塔递归算法

(规则)有a、b、c三个柱子,a的柱子上由小到大堆着n个圆盘。 一次移动一个圆盘,最终要求所有圆盘从小到大移动到C柱上。 一次大的不能压得小。

//思路: F(N )-C时,可以推出F(N-1 )-B,f (n-2 )-C,F(N-3 )-B,这样,f ) )1)首先要去哪个柱。 那么每确定一个柱,下一个柱的位置也随之确定,如果加上f(1)-C,f ) )-B,请注意,这里所有的开始圆盘都在a这个柱上。 如果圆盘很多,把多个圆盘移动到b,那时他们的目的地应该是a或者c。 请参阅代码:

package hanoT; publicclasshannot (public void exchange (intn,char a,char b,char c ) if ) n==1) system.out.println ) ' the ' n } elele。 system.out.println (the ' n ' from ' a ' to ' c ); exchange(n-1,b,a,c ); } publicstaticvoidmain (string [ ] args ) {int f=3; hannoT t=new hannoT (; t.exchange(f,' a ',' b ',' c ' ); } ` ` ` `

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。