【数据结构45】分治算法-汉诺塔
程序员文章站
2024-03-24 14:51:58
...
1.分值算法介绍
2.汉诺塔
3.代码实现
public class Hanoitower {
public static void main(String[] args) {
hanoiTower(5,'A','B','C');
}
public static void hanoiTower(int num,char a,char b,char c){
//如果只有一个盘
if(num==1){
System.out.println("第1个盘从 "+a+"->"+c);
}else{//如果我们有 n >= 2 情况,我们总是可以看做是两个盘 1.最下边的盘 2. 上面的盘
//1.先把上面的所有盘从a移动到b,移动过程中使用到c
hanoiTower(num-1,a,c,b);
//2.把下面的盘从a移动到c
System.out.println("第"+num+"个盘从 "+a+"->"+c);
//3.把b盘的所有盘从b移动到c,移动过程中使用a
hanoiTower(num-1,b,a,c);
}
}
}
上一篇: 数据结构与算法:汉诺塔问题(C++)
下一篇: AnimationDrawable