分治算法实现汉诺塔

Posted shanaprprpr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治算法实现汉诺塔相关的知识,希望对你有一定的参考价值。

主函数依旧省略,直接贴实现的代码。

/**
	 * 
	 * @param num 有几个盘
	 * @param 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 {
			hanoiTower(num - 1, a, c, b);
			System.out.println("第" + num + "个盘从" + a + "->" + c);
			hanoiTower(num - 1, b, a, c);
		}
	}

以上是关于分治算法实现汉诺塔的主要内容,如果未能解决你的问题,请参考以下文章

分治 + 递归之汉诺塔问题详解

分治算法与汉诺塔问题的详解

算法——分治递归解决汉诺塔问题

算法——分治递归解决汉诺塔问题

分治与汉诺塔问题

学习数据结构笔记(16) --- [分治算法(由汉诺塔问题引入)]