| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> JAVA——汉诺塔代码 -> 正文阅读 |
|
[Java知识库]JAVA——汉诺塔代码 |
JAVA汉诺塔递归目标:将A上的圆盘移动到目标塔C上。 思路: ①首先将A上的n-1移动到B上,由C作为辅助;(剩下一个最大的盘子在A上) ②将A上的盘子移动到目标塔C上;(此时最大的盘子到达目标位置) ③将B上n-1个盘子依次移动到C上,由A作为辅助;(这个过程和①②一样只不过源塔是B目标依然是C,由此可以发现汉诺塔问题是一个典型的递归问题) ?例:n = 3时移动 A->C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 首先将A上的n-1移动到B上,由C作为辅助 A->B C->A A->C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 最大的盘子到目标塔C B->A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 此时最大的盘子到达C塔,只需要将B上n-1个盘 B->C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 子依次挪动到C上即可,A最为辅助 A->C 实现代码:
?(来自不会敲代码的卑微贝贝) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:53:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |