【算法】汉诺塔算法 Hanoi Tower ---分治算法
分治算法 是算法中一种很重要的思想,顾名思义,就是指 "分而治之", 就是说把一个非常复杂的问题分解成两个或更多的相同或者相似的子问题,再把子问题分解成更小的子问题,直到最小的子问题能马上求解
汉诺塔 Hanoi Tower 就是分治算法的一种典型应用
Hanoi Tower是算法题中一个经典,它源于印度的一个古老传说,。是说在一个托盘上有A,B,C三根柱子, 在柱子A上有64个从小到大的圆盘,这些圆盘从上到下是从小到大的,最大的圆盘在最下面。 现在我们要把这些圆盘全部移动到柱子C上去,保证柱子C上的圆盘也是一样的从上到下从小到大的顺序,并且每次只能移动一个圆盘。 需要计算出如果柱子上有n个圆盘,需要移动多少次,写出代码
在这里,柱子A是原始柱, C是目标柱, B是中转柱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律