鱼C论坛

 找回密码
 立即注册
查看: 5120|回复: 6

有人能用循环写汉诺塔吗?

[复制链接]
发表于 2013-3-19 12:28:24 | 显示全部楼层 |阅读模式
4鱼币
我看书,书上说任务一个递归都能用循环代替,而大学时,老师说汉诺塔是不能用循环代替的,这不是冲突吗?全是导师级别的,这问题难道都解决不了吗?

最佳答案

查看完整内容

简单说,递归无非是多次调用同一个函数体(因为函数自己会调用自己)内的代码,所以说递归算法都可以改用循环实现。但是要注意的是递归多次调用过程中使用到了函数的“堆栈”来保存,传递各次的计算结果。因此,一些递归算法非要用循环来改写的话就必须手动使用堆栈,因为循环结构里没有现成的堆栈,但递归结构里有。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-19 12:28:25 | 显示全部楼层
简单说,递归无非是多次调用同一个函数体(因为函数自己会调用自己)内的代码,所以说递归算法都可以改用循环实现。但是要注意的是递归多次调用过程中使用到了函数的“堆栈”来保存,传递各次的计算结果。因此,一些递归算法非要用循环来改写的话就必须手动使用堆栈,因为循环结构里没有现成的堆栈,但递归结构里有。

评分

参与人数 1鱼币 +3 收起 理由
拈花小仙 + 3 谢谢您,感觉到家一样

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-19 12:29:08 | 显示全部楼层
有没有人能回答我这个问题,我的算法学的太差,网上也没好资料
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-19 12:30:46 | 显示全部楼层
本帖最后由 拈花小仙 于 2014-7-5 22:09 编辑

,,,,,,,,,,好难很复杂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-19 12:32:36 | 显示全部楼层
用大量库函数不算,就用那几个常用关键字
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-19 12:37:08 | 显示全部楼层
不带压栈的,哪位师兄帮写个简短的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-3-19 18:18:57 | 显示全部楼层
看看数据结构
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-5 12:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表