当前位置: 首页 > news >正文

汉诺塔 | Java 递归实现

📚 目录

  • 1. 什么是汉诺塔?
  • 2.汉诺塔解决前分析
  • 3.Java递归实现汉诺塔


前言:
汉诺塔是学习递归的经典例题。本文使用 Java 递归实现汉诺塔问题,详细讲解思路与代码,帮助初学者理解递归思想。

1. 什么是汉诺塔?


简单来说就是有三根柱子,有根柱子上面放着一串的盘子,我们需要借助三根中的一根柱子把盘子移动到另外一个柱子上,需要按照大到小的顺序进行放置。(小盘上面不能是大盘)

🔙 返回目录




2. 汉诺塔解决前分析

在外面了解到了什么是汉诺塔之后,就要开始进行我们的分析了。

假设我们的柱子是A、B、C三根柱子
当我们只有一个盘子的时候,直接就是A -> C盘上面。

当我们有两个盘子的时候:

我们就需要将小的盘子先放到B上面然后将大的盘子放到C上面,最后把B上的盘子放到C上面。

当我们A柱子上面有3个盘子的时候:

我们先需要把上面两个小的盘子借助C把把盘子移动到B上






A->C,A->B,C->B,A->C,B->A,B->C,A->C这就是我们挪动的顺序。

分析:

如果使用递归该怎么做呢?
我们需要找我们的递推公式:步数:2^n - 1
结束条件:也就是A盘只有一个盘子的时候直接挪动到C盘上
前置条件:先把n-1个盘子借助C放到B上。把剩下的一个盘子从A挪动到C上。


最后在把n-1个盘子借助A放到C上。


当我们在使用递归的时候注意:不要使用纵向展开,我们的脑容量是有限的,展开不完;使用横向的方式有助于我们用递归解决问题。

🔙 返回目录




3. Java递归实现汉诺塔

publicclasstest1{//打印路线publicstaticvoidmove(charstr,chardest){System.out.print(str+"->"+dest+" ");}//n:盘子个数 pos1:柱子A pos2:柱子B pos3:柱子Cpublicstaticvoidhaoni(intn,charpos1,charpos2,charpos3){if(n==1){//pos1->pos3move(pos1,pos3);return;}//将n-1个盘子借助柱子C移动到B上haoni(n-1,pos1,pos3,pos2);move(pos1,pos3);//将剩下的n-1个盘子借助柱子A移动到C上haoni(n-1,pos2,pos1,pos3);}publicstaticvoidmain(String[]args){haoni(3,'A','B','C');}}


汉诺塔中有64个盘子,如果每秒移动一个盘子,且移动是正确的那他需要挪动2^64 - 1秒,大概是5800多年,就算是计算机也需要跑很久很久。
找到递归的地推公式和结束条件那么递归的题目就很好做了。

🔙 返回目录



http://www.jsqmd.com/news/470706/

相关文章:

  • 聊聊长沙比较不错的财务咨询企业,真慧算费用怎么收? - 工业推荐榜
  • 英拓克驱动器ID271/350A/380V
  • 腾讯|阿里|百度|字节跳动人才体系的职位层级、薪酬、晋升标准_字节跳动的薪资结构和职级体系
  • 国际教育平台哪家好,国研控股业务范畴及可信度分析 - 工业品牌热点
  • 2026年3月铜陵家装公司选择指南:家装、室内设计、家装工程、家装装修、一站式装修公司 - 海棠依旧大
  • 2026年3月甘肃建材租赁厂家选择指南:脚手架、吊篮、高空作业设备租赁厂家 - 海棠依旧大
  • 与 Python 相遇:一场从 0 到 1 的编程之旅
  • 挑战无损音乐获取难题:NeteaseCloudMusicFlac实现FLAC格式批量下载革命
  • 2026年3月铜陵家装设计公司选择指南:室内设计、一站式装修、家装工程、住宅装饰公司推荐 - 海棠依旧大
  • 嘉年华旅行社电话查询:联系方式查询与通用建议 - 品牌推荐
  • 如何通过PCL2-CE解决Minecraft多环境管理难题?三大创新功能实测
  • 探寻成都火锅美味,2026口碑品牌大盘点,火锅/成都火锅/美食/重庆火锅/地摊火锅/附近火锅,成都火锅品牌选哪家 - 品牌推荐师
  • 南京北风企业管理咨询有限公司电话查询:联系前需了解的基本信息 - 品牌推荐
  • 突破格式壁垒:ncmdump工具让加密音乐文件自由流转的实战指南
  • 【Navicat+MySQL】 在Navicat内创建管理数据库、数据库表。
  • PTA 串的算法设计 5 BF匹配算法(单次匹配)
  • OpenCore Legacy Patcher技术突破:让老旧Mac焕发新生的完整指南
  • 冷冻食品包装新趋势,2026泡沫箱厂商排行及特色解析,目前泡沫箱实力厂家技术实力与市场典范解析 - 品牌推荐师
  • 3大核心功能让你的英雄联盟体验全面升级:League Akari智能助手深度评测
  • 紫外、量子、AI融合:远程拉曼光谱的三大突破与未来 - 品牌推荐大师
  • 如何用AntiDupl.NET解决图像重复难题?5个专业技巧提升去重效率
  • 2026年软考中级“软件设计师”考试内容、题型,备考资料
  • C++基础(7):引用类型
  • 农业四情监测系统
  • MYSQL入门学习教程(非常详细),零基础入门到精通,收藏这一篇就够了_mysql学习
  • Cesium Terrain Builder技术解析:从原理到实践的完整指南
  • 打造同城生活服务一站式平台 全面覆盖同城信息、商家联盟、生活电商等多元场景
  • 科研数据可视化工具推荐:适配场景,高效呈现科研价值
  • 如何用 PS 去除图片上的杂物?新手必学的4种方法
  • 2026年度CRM系统生态盘点,9款主流厂商核心能力解析