#递归 - 深度解析【小甲鱼友情客串】
本帖最后由 不二如是 于 2016-11-29 14:41 编辑递归的牛x之处,不分国界,不光看Scratch中的怎么用(86)
看看C++中的哈
-----------------偶是华丽的分割线-----------------
小不二上数据结构课, 老师讲汉诺塔问题, 使用了递归算法。
小不二第一次接触递归, 一头雾水,想破了脑袋也没搞明白这递归是怎么回事。
他 一直很纳闷, 这么复杂的问题, 怎么可能就那么两三行代码就解决了?
这怎么可能?
后来经好基友小甲鱼老湿指点, 总算明白一点!
但总是觉得还有点疑虑,不太敢确信自己是不是真的搞明白了。
小甲鱼老湿说: “给你来个简单点儿的例子,计算n的阶乘, 这个描述起来更直接”
小甲鱼老湿一边说,一遍写下了下面的代码:
“看看, 是不是特别简单。“
”所谓递归,就是一个函数调用了自己而已!”
“一个调用自己的函数, 这听起来就有点匪夷所思了” 小不二感慨到。
**** Hidden Message ***** 自己调用自己{:10_312:}
有点儿像先有鸡还是先有蛋的问题(别跟我扯《圣经》里说先有鸡,木有蛋哪来小鸡鸡) 呀哈,没想到沙发板凳都是我的啊 鬼才 发表于 2017-1-19 12:07
呀哈,没想到沙发板凳都是我的啊
哈哈,官方认证板凳加沙发! 学习一下 六道土豆 发表于 2017-1-19 19:33
学习一下
欢迎~
所以付费的,VIP均可免费观看~ 到现在还是有点不明白 楼主威武
学习学习{:10_279:} madaobl 发表于 2017-2-12 15:04
学习学习
{:10_268:} 羽枫 发表于 2017-2-15 00:11
{:5_91:}手机端,回复空白怎么做到的~ 不二如是 发表于 2017-2-15 07:00
手机端,回复空白怎么做到的~
不知道诶。。。可能卡了吧{:5_96:} {:10_256:}{:10_256:}{:10_256:}看看 哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自己,迭代式不断地引用自己的结果
递归过程中, 问题的规模在缩小,这样最终得到问题的解;而迭代是一种由远变近的逼近,问题的规模不见得缩小了,但是慢慢在调整接近答案。 Luse 发表于 2017-2-28 21:58
哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自 ...
递归是自己调用自己
迭代是A调用B 6666 def hanoi(n,x,y,z):
if n == 1:
print(x,'-->',z)
else:
hanoi(n-1,x,z,y) # 1
print(x,'-->',z)
hanoi(n-1,y,x,z) # 2
不二哥,求解惑:
这个递归到底怎么跑的啊? 里面有两个调用,我理不清他们是怎么个先后顺序了?
我已经被这个 汉罗塔 弄伤了{:10_285:} {:10_299:} 想知道 看看
页:
[1]
2