package com.algorithm; /** * 汉诺塔问题 * 所有的盘子刚开始都放在塔座A上,要求将所有的盘子从塔座A移动到塔座C,每次只能移动一个盘子,任何盘子不能放在比自己小的盘子上 * @author lenovo * */ public class HanoiTower { /** * 移动盘子 * TopN:移动的盘子数 * from :起始塔座 * inter:中间塔座 * to:目标塔座 */ public static void doTower(int TopN,String from,String inter,String to){ if(TopN==1){ System.out.println("盘子1,从"+from+"塔座到"+to+"塔座"); }else{ doTower(TopN-1,from,to,inter); System.out.println("盘子"+TopN+",从"+from+"塔座到"+to+"塔座"); doTower(TopN-1,inter,from,to); } } public static void main(String[] args) { doTower(2,"A","B","C"); } }
相关推荐
汉诺塔问题的递归算法,附详细代码以及运行结果,有详细的算法描述。
汉诺塔——经典的递归 *实现移动函数 *递归实现汉诺塔函数
汉诺塔的算法。用递归实现,就简单的几行代码。给大家参考
有三根柱子A,B,C,A柱子上有N个盘子,从小到大依次叠放,要求把A上的盘子都移到C上,B可以作为临时存放,移动的时候必须始终遵循小盘子在大盘子上面,且每次只能移动一个盘子。
1汉诺塔问题: 包括了三种实现方式。a传统递归;b非递归,用Stack;c非递归,直接根据通项式规律求出 2普里姆算法: 其思想是加点法,程序中用一个StringBuffer来记录已经被访问了点 3克鲁斯克尔算法: 其思想是加边...
汉诺塔的java实现,练习递归算法的典型例子
主要介绍了java基于递归算法实现汉诺塔问题,结合具体实例形式分析了java递归算法的实现与使用技巧,需要的朋友可以参考下
用递归算法实现的汉诺塔,用的是java,没什么技巧性,初学者可参考一下
15个典型的递归算法的JAVA实现,求N的阶乘、欧几里德算法(求最大公约数)、斐波那契数列、汉诺塔问题、树的三种递归遍历方式、快速排序、折半查找、图的遍历、归并排序、八皇后问题(回溯、递归)、棋盘覆盖(分治,...
汉诺塔的递归实现 JAVA实现,自己写的
这个简单的汉诺塔演示程序,主要是将经典汉诺塔问题用图形显示出来。本程序主要是通过使用JAVA中的一些事件监听来实现功能按钮。核心程序用递归的算法:在A,B,C 根针上依次移动摆放在针上的大小不一的方片,每个小...
主要介绍了Java基于栈方式解决汉诺塔问题的方法,结合实例形式分析了java栈方式采用递归与非递归算法解决汉诺塔问题的相关操作技巧,需要的朋友可以参考下
java编写的汉诺塔源代码
hanoi塔问题的递归算法
汉诺塔 能够实现10层以内的自选层数的汉诺塔自动演示,停止,记录步数
用JAVA实现冒泡排序 递归算法 快速排序 汉诺塔的实现
自己写的4个Java代码,内有详细注释,适合想学... insertion_sort.java --插入排序 Divide.java --分治排序 HanoiCompute.java --递归实现汉诺塔 FileCtrl.java --递归实现显示目录下的所有文件和文件夹
主要介绍了Java使用递归法解决汉诺塔问题的代码示例,汉诺塔问题是使用递归解决问题的经典范例,用到的算法非常简单,需要的朋友可以参考下
LCS问题 归并排序 矩阵链乘积问题 N皇后问题 贪心算法 快速排序 二分检索 求最大元素最小元素(分治算法) 求n个数的排列(递归)
分治算法的具体代码实现,能实现较好的排序效率