汉诺塔 - 递归算法

汉诺塔游戏是一个经典的递归问题,涉及将N个大小不一的方块从起始杆移动到目标杆,遵循每次只能移动一个且大盘不能放在小盘上的规则。解题策略包括递归地将上方的方块移到中间杆,然后移动最下方的大盘,最后再将中间杆的方块移到目标杆。通过这个过程,可以逐步解决任意数量方块的汉诺塔问题。
摘要由CSDN通过智能技术生成

在这里插入图片描述
汉诺塔游戏规则描述:
有三根杆子star,station,end。star杆上有 N (>=1)个方块,方块尺寸由下(1)到上(n)依次变小。要求按下列规则将所有圆盘移至 end 杆:
每次只能移动一个圆盘;
大盘不能叠在小盘上面。

解题思路:
1、如果只有方块1,则把方块1直接从star挪到end;
在这里插入图片描述

2、如果方块1上面有其他(n-1)个方块压着,则:
  2-1:先把上面的(n-1)方块从star挪到station;(此时n-1个方块体在station上)
  2-2:把1从star挪到end;
在这里插入图片描述

  2-3:此时,以station作为起始的柱子

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值