h*******e 发帖数: 1377 | 1 这个之前关于王垠个人的讨论已经够多了,别再这个帖子里人身攻击王垠了, 请就这
两种关于递归非递归的观点进行讨论。
http://www.zhihu.com/question/20418254 |
h*******e 发帖数: 1377 | |
A*****i 发帖数: 3587 | 3 高中dropout就来看看等大牛,顺便说一句,王垠吹牛逼越吹越没谱了 |
h*******e 发帖数: 1377 | 4 额,比如工业界里面尽量避免写递归么,所有递归都变成循环么,还有什么样的编译器
会自动优化呢, 尾递归是什么呢 这个大概就是我的几个问题,看看大家还能想出更多
么, 记得学校好像有道内核编程要变成非递归,因为kernel内存可用空间小,但是是
学校project, 不知道工业界是怎样。 |
h*******e 发帖数: 1377 | 5 还有似乎各种算法竞赛里面很多人不care, 用dfs的很少有变成循环的时候。
也许是算法竞赛基本内存空间相对比较大,但是时间卡得比较死的原因。 |
h*******e 发帖数: 1377 | 6 大牛学弟开玩笑了~~
【在 A*****i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 高中dropout就来看看等大牛,顺便说一句,王垠吹牛逼越吹越没谱了
|
A*****i 发帖数: 3587 | 7 需要大量递归的时候直接上scala了,不需要的时候根本不写递归
高中dropout工业界经验不足,接触最大的code base也就20来万行没见过一处递归的。
当然做distributed system本来也用不到多少递归 |
h*******e 发帖数: 1377 | 8 看来作分布式的话用到递归不多哦.
【在 A*****i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 需要大量递归的时候直接上scala了,不需要的时候根本不写递归 : 高中dropout工业界经验不足,接触最大的code base也就20来万行没见过一处递归的。 : 当然做distributed system本来也用不到多少递归
|
A*****i 发帖数: 3587 | 9 高中dropout经验尚浅,做过的分布式项目没见过用递归的,当然外组做的data
analysis倒是大片大片的scala和erlang,递归这玩意跟软件设计完全不搭边,感觉就
是搞数学用的
【在 h*******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看来作分布式的话用到递归不多哦.
|
b********0 发帖数: 62 | 10 我感觉递归可以理解为两层意思
第一层是类似于数学归纳法的思想 就是把大问题分解为类似的小问题 这类思想肯定到
处都用得到 没什么好争的
第二层就是代码里的 函数自己调用自己 这种递归都是可以改写为循环的形式的
一般递归由堆栈实现 会有存储和处理的开销
自己写 一般也要多加一个全局变量
所以大家总会有 递归效率低的印象 其实差不了多少
某些递归实现的问题在于同一个问题的重复计算浪费了资源 可以用记忆化改善
尾递归就是一种特殊的形式 返回值在每一层递归都被直接返回为上一层 这样其实用外
部变量存储的意义就没有了 也就可以直截了当的写成循环的形式
一般递归转化为尾递归的方法 我感觉一般也就是增加传递变量 以达到之前外部状态变
量的效果
个人认为递归简洁直观 如果编译器强大到能做好优化 那就完美了
【在 h*******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 额,比如工业界里面尽量避免写递归么,所有递归都变成循环么,还有什么样的编译器 : 会自动优化呢, 尾递归是什么呢 这个大概就是我的几个问题,看看大家还能想出更多 : 么, 记得学校好像有道内核编程要变成非递归,因为kernel内存可用空间小,但是是 : 学校project, 不知道工业界是怎样。
|
|
|
g**s 发帖数: 2331 | |
h*******e 发帖数: 1377 | |
g**s 发帖数: 2331 | |
g*********e 发帖数: 14401 | 14 做web的一般都不用
做别的可不一定
【在 A*****i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 高中dropout经验尚浅,做过的分布式项目没见过用递归的,当然外组做的data : analysis倒是大片大片的scala和erlang,递归这玩意跟软件设计完全不搭边,感觉就 : 是搞数学用的
|
h*******e 发帖数: 1377 | 15 Can every recursion be converted into iteration?
http://stackoverflow.com/questions/931762/can-every-recursion-b
还有人说有什么 church turning 理论证明 递归都能变成迭代,困惑了。。。到底哪
个说的对。 |
m*****k 发帖数: 731 | 16 一点不牛,
但忍不住多一句嘴,
web 中用了几次,
关闭网页时,自动关闭所有pop up window, pop up from pop up, ....
抓取广告screenshot,从未知结构,动态生成的网页中,比如iframe under iframe
under iframe,
...
【在 g*********e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做web的一般都不用 : 做别的可不一定
|