`
韩悠悠
  • 浏览: 839827 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

递归算法的汉诺塔问题JAVA实现

 
阅读更多
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");
	}
}

 

 

分享到:
评论

相关推荐

    递归解决汉诺塔问题[java/Eclipse]

    总的来说,汉诺塔问题的解决方案结合了递归算法和Java Swing的图形化能力,提供了一种直观的方式来理解和演示这一经典问题。在Eclipse中实现这样的程序,可以帮助学习者深入理解递归思想,并掌握如何在实际项目中...

    汉诺塔Java实现

    总的来说,汉诺塔Java实现是一个很好的实践案例,展示了如何使用递归解决复杂问题,以及如何在Java环境中创建简单的用户界面。这个项目可以帮助学习者理解递归算法的工作原理,同时也能提升他们在面向对象编程和GUI...

    使用java递归实现汉诺塔(Hanio)

    汉诺塔(Hanoi)问题是一个经典的递归算法问题,起源于19世纪法国...通过研究和实践这个项目,你不仅能掌握汉诺塔问题的解决方案,还能深入理解递归算法和Java编程,这对于提升编程技能和解决问题的能力非常有帮助。

    汉诺塔问题递归算法

    汉诺塔问题的递归算法,附详细代码以及运行结果,有详细的算法描述。

    Java实现汉诺塔递归算法详解

    汉诺塔问题是一个经典的递归算法问题,它源自印度的一个古老传说,旨在通过演示如何将一组盘子从一根柱子移动到另一根柱子来解释宇宙的起源。在这个问题中,我们有三根柱子A、B和C,以及N个大小不一的盘子,初始时...

    汉诺塔问题非递归算法的实现

    ### 汉诺塔问题非递归算法的实现 #### 1. 汉诺塔问题概述 汉诺塔(Hanoi Tower)问题是一个经典的递归问题,在数学领域有着广泛的应用。该问题最初由法国数学家Édouard Lucas于1883年提出。汉诺塔问题涉及到三个...

    java基于递归算法实现汉诺塔问题实例

    "java基于递归算法实现汉诺塔问题实例" Java是一种广泛使用的编程语言,具有强大的编程能力和广泛的应用前景。其中,递归算法是Java编程中的一种重要技术,广泛应用于解决复杂问题。今天,我们将讨论Java基于递归...

    java实现汉诺塔演示及手动操作汉诺塔

    在Java中实现汉诺塔,通常会用到递归算法,因为问题的本质适合这种解决方式。具体步骤如下: 1. **基础情况**:当汉诺塔只有一个圆盘时,直接将其从起始柱移动到目标柱。 2. **递归步骤**:对于n个圆盘,首先将n-1...

    汉诺塔问题的Java动态实现

    汉诺塔问题是一个经典的计算机科学问题,源自印度的古老传说,它涉及...通过学习和实践汉诺塔问题的Java实现,开发者可以提升对递归、分治策略和问题解决能力的理解,这对于编写复杂的算法和解决实际问题具有重要意义。

    java算法——汉诺塔经典的递归

    汉诺塔——经典的递归 *实现移动函数 *递归实现汉诺塔函数

    汉诺塔问题java

    汉诺塔问题是一个经典的递归算法问题,源自印度古老传说,具有很高的教育价值。它涉及到计算机科学中的递归思想、栈数据结构以及问题解决策略。在这个问题中,我们需要将一个包含n个不同大小的圆盘从柱子A移动到柱子...

    java实现界面-汉诺塔

    为了实现汉诺塔的界面,我们需要理解递归算法,熟悉Java GUI编程,以及如何在控制器、视图和模型之间进行交互。这将涉及到文件I/O操作、事件处理和图形渲染等多个Java编程领域的知识。通过这个项目,开发者不仅可以...

    用JAVA实现的汉诺塔

    总结起来,Java实现的汉诺塔问题是一个典型的递归算法应用,它展示了如何通过分解问题并逐步解决来处理复杂任务。理解并实践这个算法有助于提升对递归、函数调用栈以及问题解决策略的理解,这些都是编程中不可或缺的...

    汉诺塔java实现

    总的来说,汉诺塔问题的Java实现是学习和掌握递归算法的一个优秀实例,通过理解和编写这样的代码,开发者能够提升解决问题的能力,特别是在处理复杂数据结构和算法设计时。同时,这也是一个很好的练习,有助于提高...

    汉诺塔java源码汉诺塔java源码

    汉诺塔问题是一个经典的递归算法问题,源自印度的一个古老传说。...通过学习汉诺塔问题的Java实现,我们可以更好地理解和掌握递归算法及其在实际问题中的应用,这对于编程和问题解决能力的提升具有重要意义。

    汉诺塔问题,用递归实现(java)

    汉诺塔的算法。用递归实现,就简单的几行代码。给大家参考

    Java 程序设计 可视化汉诺塔问题 玩法演示 玩家游戏

    总的来说,Java程序设计中的汉诺塔问题不仅展示了递归算法的应用,还涉及了GUI设计、多线程和定时器的使用,这些都是Java开发中非常重要的技能。通过这个玩家游戏,开发者不仅可以锻炼逻辑思维能力,还可以提升GUI...

    汉诺塔问题JAVA带实验报告

    汉诺塔问题是一个经典的递归算法问题,源自印度的一个古老传说。在这个问题中,有三根柱子,分别标记为A、B、C,A柱上叠着一系列大小不一的圆盘,按照从大到小的顺序自下而上排列。目标是将所有圆盘从柱A移动到柱C,...

    Java实现汉诺塔问题&普里姆算法&克鲁斯克尔算法

    1汉诺塔问题: 包括了三种实现方式。a传统递归;b非递归,用Stack;c非递归,直接根据通项式规律求出 2普里姆算法: 其思想是加点法,程序中用一个StringBuffer来记录已经被访问了点 3克鲁斯克尔算法: 其思想是加边...

    汉诺塔Hannoi(java)源程序

    汉诺塔的Java实现通常会使用递归算法,递归函数的基本思路是: - 如果只有1个圆盘,直接从起始柱移动到目标柱。 - 对于n个圆盘,首先将上面n-1个圆盘从起始柱通过目标柱移动到辅助柱。 - 然后将第n个圆盘从起始柱...

Global site tag (gtag.js) - Google Analytics