Java教程

分治算法

本文主要是介绍分治算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基本介绍

分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。

汉诺塔案例

public class TowerOfHanoi {
  public static void main(String[] args) {
    towerOfHanoi(3,'A','B','C');
  }

  public static void towerOfHanoi(int num,char a,char b,char c) {
    if (num == 1) {
      System.out.println("第1个盘从 " + a + "->" + c);
    } else {
      towerOfHanoi(num - 1,a,c,b);
      System.out.println("第" + num + "个盘从 " + a + "->" + c);
      towerOfHanoi(num - 1, b, a, c);
    }
  }

}
这篇关于分治算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!