Day590.分治算法 -数据结构和算法Java
Posted 阿昌喜欢吃黄桃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day590.分治算法 -数据结构和算法Java相关的知识,希望对你有一定的参考价值。
分治算法
一、介绍
- 思路分析
二、代码实现
package com.achang.algorithm;
/**
* 分治算法
*/
public class DivideAndConquer
public static void main(String[] args)
hanoiTower(3,'a','b','c');
/**
* 汉诺塔移动方法
* 使用分治算法
* @param num 盘的数量
* @param a 塔A
* @param b 塔B
* @param c 塔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最下面的盘
//先吧最上面的所有盘盘 A->B,移动过程会使用到c
hanoiTower(num - 1,a,c,b);
System.out.println("第"+ num + "个盘从 " + a + "->"+c);
//把B塔的所有盘移动到C塔
hanoiTower(num - 1,b,a,c);
以上是关于Day590.分治算法 -数据结构和算法Java的主要内容,如果未能解决你的问题,请参考以下文章