楼主: discoveryi
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 学不会递归。。。。。

🔗
麻倉枼 2013-8-16 10:55:16 | 只看该作者
全局:
哈哈,大家的回复都是在弄infinite loop 呀。。
我自己也不大行所以没多少发言权,但是,

recursion基本原则,
1.先找end condition,
2.再找运作方式。。
回复

使用道具 举报

🔗
starcroce 2013-8-16 12:05:45 | 只看该作者
全局:
说点正经的吧,递归一般来说都不是最优解法,因为函数调用的开销以及栈的不断增长,正常情况下递归都可以用循环/迭代来表示,大家写递归最大的好处就是代码可读性,特别在graph/tree的算法里面。。。
还有一种就是尾递归,话说本人算法渣至今还不是很理解这玩意到底是什么,性质大概就是函数返回前最后一个调用是递归调用,这样就不会不停的把中间参数压栈而只是改写当前栈帧。。。
在函数式语言(scheme/haskell)里尾递归用的很多,其他的c/c++,java,python大部分时候都是用循环来代替尾递归,而且好像他们的编译器大部分也都不支持尾递归优化(gcc最新的好像支持了)。。。
回复

使用道具 举报

🔗
fastmovie 2013-8-16 13:28:33 | 只看该作者
全局:
YY大帝 发表于 2013-8-16 00:12
我问是楼主,好吧,据说左手在上是右脑比较发达。版主你看看http://tieba.baidu.com/p/1796666315,里面的 ...

在这张图神了啊,随便看的时候是顺时针,用心进去立马逆时针,然后想了点别的再看就又是顺时针了
回复

使用道具 举报

🔗
尹月步 2013-8-16 14:28:05 | 只看该作者
全局:
YY大帝 发表于 2013-8-16 00:12
我问是楼主,好吧,据说左手在上是右脑比较发达。版主你看看http://tieba.baidu.com/p/1796666315,里面的 ...

左手在右手上,但是舞女顺时针逆时针都有,顺便一提我是超级天然呆智商160绝不可能,所以这测试做做就好啦不要太信…
回复

使用道具 举报

🔗
zihaolucky 2013-8-19 11:26:05 | 只看该作者
全局:
Coursera 上面有一门教functional programming的scala课啊~似乎就是递归思维的
回复

使用道具 举报

🔗
anotherDesk 2013-8-20 14:16:50 | 只看该作者
全局:
我觉得看看公开课可能会有用。。之前自己看书学递归的时候也不是特别懂,就是那个hanoi问题= =
自己写dfs的时候明显感觉到卡壳不知道怎么写
后来上课的时候很认真的听了老师讲的递归,后来用起来递归都顺手的多

主要还是就区分base case和general case
一般递归的代码都不会特别复杂的
回复

使用道具 举报

🔗
anotherDesk 2013-8-20 14:18:47 | 只看该作者
全局:
fastmovie 发表于 2013-8-16 13:28
在这张图神了啊,随便看的时候是顺时针,用心进去立马逆时针,然后想了点别的再看就又是顺时针了{:6_141: ...

我要换方向是非得看下面的影子适应一下= =
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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