浅谈n阶汉诺伊塔问题拓展动态规划求法

本文讨论了n阶汉诺伊塔问题在多个柱子情况下的拓展,分析了问题的子结构和递归解决方案。通过动态规划方法,提出了一种寻找最优解的递推公式,总结了复杂度为O(n^3)的解题思路。
摘要由CSDN通过智能技术生成

这里写图片描述
世界真的很大
这不是一道题
汉诺塔问题的基本思想应该还是了然于心了
花了1个小时来思考汉诺塔问题的精髓,就是子结构的问题,用递归就很好解决了
但是在柱子很多的情况下,有可能子结构多样化,再指定最大的分散是否还是最优呢
来探讨一下这个神奇的印度玩意儿

description:

给定n,m求n个盘子m个柱子的汉诺塔问题答案

input:

两个整数n,m

output:

答案

先来谈谈汉诺塔问题的普通版
中心思想是,先把n个盘子的上面n-1个挪到另一个盘子上,然后把最下面的一个盘子拿到最后一个柱子上,然后把另一个柱子的n-1个盘子挪到最后一个柱子上
由于第n个盘子比上面的所有盘子都大,上面的盘子在移动的过程中最后一个盘子对他们没有影响
于是乎可以看出第一步和第三步的本质相同,都是n-1个盘子的问题,这就是一个子问题了
于是可以递归求解
有一点要理解,这三个柱子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值