QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

管理团队

Rank: 30Rank: 30Rank: 30Rank: 30

技术值
查看: 741|回复: 18

[小天才资讯] #递归 - 深度解析【小甲鱼友情客串】

[复制链接]
最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是 发表于 2016-11-29 14:39:31 74118 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

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

看看C++中的哈

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


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

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

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

这怎么可能?

0.png


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

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

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

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

1.png


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

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

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

游客,如果您要查看本帖隐藏内容请回复
楼层
跳转到指定楼层
最佳答案
0 
累计签到:8 天
连续签到:1 天
鬼才 发表于 2017-1-19 12:04:36 | 显示全部楼层
自己调用自己
有点儿像先有鸡还是先有蛋的问题(别跟我扯《圣经》里说先有鸡,木有蛋哪来小鸡鸡)
最佳答案
0 
累计签到:8 天
连续签到:1 天
鬼才 发表于 2017-1-19 12:07:11 | 显示全部楼层
呀哈,没想到沙发板凳都是我的啊

评分

参与人数 1鱼币 +5 收起 理由
不二如是 + 5 热爱鱼C^_^

查看全部评分

最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是  楼主| 发表于 2017-1-19 12:18:06 | 显示全部楼层
鬼才 发表于 2017-1-19 12:07
呀哈,没想到沙发板凳都是我的啊

哈哈,官方认证板凳加沙发!
最佳答案
0 
累计签到:198 天
连续签到:1 天
六道土豆 发表于 2017-1-19 19:33:40 | 显示全部楼层
学习一下
最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是  楼主| 发表于 2017-1-19 19:44:48 | 显示全部楼层

欢迎~
所以付费的,VIP均可免费观看~
最佳答案
0 
累计签到:297 天
连续签到:1 天
lujunmnb 发表于 2017-1-20 19:28:21 | 显示全部楼层
到现在还是有点不明白
最佳答案
0 
累计签到:2 天
连续签到:1 天
操琴弓的魔术师 发表于 2017-1-20 22:13:59 | 显示全部楼层
楼主威武
[code][/code]
最佳答案
0 
累计签到:107 天
连续签到:1 天
madaobl 发表于 2017-2-12 15:04:47 | 显示全部楼层
学习学习

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-2-12 15:08
最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是  楼主| 发表于 2017-2-12 15:08:35 | 显示全部楼层
最佳答案
0 
累计签到:61 天
连续签到:1 天
羽枫 发表于 2017-2-15 00:11:13 From FishC Mobile | 显示全部楼层
最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是  楼主| 发表于 2017-2-15 07:00:45 | 显示全部楼层

手机端,回复空白怎么做到的~
最佳答案
0 
累计签到:61 天
连续签到:1 天
羽枫 发表于 2017-2-16 10:47:15 | 显示全部楼层
不二如是 发表于 2017-2-15 07:00
手机端,回复空白怎么做到的~

不知道诶。。。可能卡了吧
最佳答案
0 
累计签到:20 天
连续签到:1 天
Agoni 发表于 2017-2-16 21:56:22 From FishC Mobile | 显示全部楼层
看看
最佳答案
4 
累计签到:45 天
连续签到:1 天
Luse 发表于 2017-2-28 21:58:28 | 显示全部楼层
哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自己,迭代式不断地引用自己的结果
递归过程中, 问题的规模在缩小,这样最终得到问题的解;而迭代是一种由远变近的逼近,问题的规模不见得缩小了,但是慢慢在调整接近答案。
最佳答案
96 
累计签到:496 天
连续签到:24 天
不二如是  楼主| 发表于 2017-3-1 08:43:20 | 显示全部楼层
Luse 发表于 2017-2-28 21:58
哈哈哈,我看这一课的时候也是有点懵逼的,不知道递归和迭代,
后来去知乎上找了一下,递归是不断地引用自 ...


递归是自己调用自己

迭代是A调用B
最佳答案
0 
累计签到:3 天
连续签到:1 天
949410591 发表于 2017-10-11 16:30:18 | 显示全部楼层
6666
最佳答案
0 
累计签到:55 天
连续签到:14 天
cupbbboom 发表于 2017-11-4 14:22:50 | 显示全部楼层
  1. def hanoi(n,x,y,z):

  2.     if n == 1:
  3.         print(x,'-->',z)
  4.     else:
  5.         hanoi(n-1,x,z,y) # 1
  6.         print(x,'-->',z)
  7.         hanoi(n-1,y,x,z) # 2
复制代码




不二哥,求解惑:
               这个递归到底怎么跑的啊? 里面有两个调用,我理不清他们是怎么个先后顺序了?
    我已经被这个 汉罗塔 弄伤了   

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-13 07:29

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