河内塔Java递归

时间:2016-06-28 06:00:34

标签: java

您好我被要求为我的第一个项目写一个河内程序塔我没有经验,真的想学习但不明白如何开始它以及递归甚至是如何工作的。我需要评论我的工作,所以我的老师理解我的理解,但我想知道它是如何工作的,或者某个地方我也可以学习如何运行Java程序

1 个答案:

答案 0 :(得分:0)

递归算法

下面给出了使用辅助极将n个圆盘从起始极移动到端极的递归解决方案。

基本案例 - 当n = 1

将光盘从起始极移动到结束极

递归案例 - 当n> 1

  1. 将(n-1)个碟片从起始杆移动到辅助杆。
  2. 将最后一张光盘从起点移动到终点。
  3. 将(n-1)个光盘从辅助杆移动到结束杆。
  4. Stepr 1和3是相同过程的递归调用。

    这是一个很好的start point

    enter image description here