不二如是 发表于 2016-11-29 14:39:31

#递归 - 深度解析【小甲鱼友情客串】

本帖最后由 不二如是 于 2016-11-29 14:41 编辑

递归的牛x之处,不分国界,不光看Scratch中的怎么用(86)

看看C++中的哈

-----------------偶是华丽的分割线-----------------

小不二上数据结构课, 老师讲汉诺塔问题, 使用了递归算法。

小不二第一次接触递归, 一头雾水,想破了脑袋也没搞明白这递归是怎么回事。

他 一直很纳闷, 这么复杂的问题, 怎么可能就那么两三行代码就解决了?

这怎么可能?



后来经好基友小甲鱼老湿指点, 总算明白一点!

但总是觉得还有点疑虑,不太敢确信自己是不是真的搞明白了。

小甲鱼老湿说: “给你来个简单点儿的例子,计算n的阶乘, 这个描述起来更直接”

小甲鱼老湿一边说,一遍写下了下面的代码:



“看看, 是不是特别简单。“

”所谓递归,就是一个函数调用了自己而已!”

“一个调用自己的函数, 这听起来就有点匪夷所思了” 小不二感慨到。

**** Hidden Message *****

鬼才 发表于 2017-1-19 12:04:36

自己调用自己{:10_312:}
有点儿像先有鸡还是先有蛋的问题(别跟我扯《圣经》里说先有鸡,木有蛋哪来小鸡鸡)

鬼才 发表于 2017-1-19 12:07:11

呀哈,没想到沙发板凳都是我的啊

不二如是 发表于 2017-1-19 12:18:06

鬼才 发表于 2017-1-19 12:07
呀哈,没想到沙发板凳都是我的啊

哈哈,官方认证板凳加沙发!

六道土豆 发表于 2017-1-19 19:33:40

学习一下

不二如是 发表于 2017-1-19 19:44:48

六道土豆 发表于 2017-1-19 19:33
学习一下

欢迎~
所以付费的,VIP均可免费观看~

lujunmnb 发表于 2017-1-20 19:28:21

到现在还是有点不明白

操琴弓的魔术师 发表于 2017-1-20 22:13:59

楼主威武

madaobl 发表于 2017-2-12 15:04:47

学习学习{:10_279:}

不二如是 发表于 2017-2-12 15:08:35

madaobl 发表于 2017-2-12 15:04
学习学习

{:10_268:}

羽枫 发表于 2017-2-15 00:11:13

不二如是 发表于 2017-2-15 07:00:45

羽枫 发表于 2017-2-15 00:11


{:5_91:}手机端,回复空白怎么做到的~

羽枫 发表于 2017-2-16 10:47:15

不二如是 发表于 2017-2-15 07:00
手机端,回复空白怎么做到的~

不知道诶。。。可能卡了吧{:5_96:}

Agoni 发表于 2017-2-16 21:56:22

{:10_256:}{:10_256:}{:10_256:}看看

Luse 发表于 2017-2-28 21:58:28

哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自己,迭代式不断地引用自己的结果
递归过程中, 问题的规模在缩小,这样最终得到问题的解;而迭代是一种由远变近的逼近,问题的规模不见得缩小了,但是慢慢在调整接近答案。

不二如是 发表于 2017-3-1 08:43:20

Luse 发表于 2017-2-28 21:58
哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自 ...


递归是自己调用自己

迭代是A调用B

949410591 发表于 2017-10-11 16:30:18

6666

cupbbboom 发表于 2017-11-4 14:22:50

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:}

Romeo 发表于 2018-7-4 23:55:04

想知道

幽梦三影 发表于 2018-7-7 12:57:31

看看
页: [1] 2
查看完整版本: #递归 - 深度解析【小甲鱼友情客串】