十七、程序员10大算法之分治算法

it2025-08-12  11

一、分治算法介绍

二、分治算法应用

三、代码实现

public class Hanoitower { public static void main(String[] args) { hanoiTower(3,'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{ //把上面的盘借助C移动到B,然后把最后一块盘移到C,紧接着递归 hanoiTower(num-1,a,c,b); System.out.println("第" + num + "个盘从"+ a + "->" + c); hanoiTower(num-1,b,a,c); } } }

四、测试结果

1个盘从A->C 第2个盘从A->B 第1个盘从C->B 第3个盘从A->C 第1个盘从B->A 第2个盘从B->C 第1个盘从A->C
最新回复(0)