汉诺塔递归算法是什么?

 我来答
帐号已注销
2021-05-21 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:166万
展开全部

hanot (n-1,b,a,c);(解释:在把B塔上的(n-1))个借助A塔移动到C塔)

为了实现 n个盘从 借助c 从a 移动到 b

思路如下:

首先考虑极限当只有一个盘的时候,盘直接从 a -> b即可。

当有2个盘的时候,把1号盘从a -> c 然后 把2号盘 a->b 再 把 2好盘从 c - > b。

当有n个盘的时候,把 n-1个 盘 借助 b 移动到 c 然后将 n号盘从 a -> b。

这时候只要将 n-1想办法从c移动到 b 借助 a 那么就可以先把 n-2个盘借助b移动到a。

递归,就是在运行的过程中调用自己。

构成递归需具备的条件:

1,子问题须与原始问题为同样的事,且更为简单;

2,不能无限制地调用本身,须有个出口,化简为非递归状况处理。

在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。

以上内容参考:百度百科-递归公式

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式