作者liu2007 (薯)
看板Programming
标题[问题] 递回的使用时机
时间Mon Oct 21 01:12:26 2013
/递回 /recursive 都没看到相关的文章
想请问递回在 C or java 这些非人工智慧的语言上的使用时机
使用递回写程式真的是很美妙,可是速度实在是很糟糕
而且一不小心记忆体就爆了
但是既然语言支持了递回,总是有个理由说能够在某些时候使用吧?
而这些时机到底是什麽呢?
google的几个结果大同小异:「通常问题很复杂,而且你不在意花费时间的时候」
所以递回只能活在假设情况下吗??
又或者递回只能活在使用的时候整个tree不会span很大的时候使用??
--
If a child on the street who has nothing is willing to share,
why are we who have everything still so greedy?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 106.1.108.108
1F:推 LaPass:要看状况说.... 114.38.75.24 10/21 01:26
2F:→ LaPass:我没在学校上过任何一堂演算法的课,递回也 114.38.75.24 10/21 01:26
3F:→ LaPass:是自己看书时看到别人这样写,就学起来的 114.38.75.24 10/21 01:26
4F:→ LaPass:当问题的资料是用等差级数在增加的时候,用 114.38.75.24 10/21 01:27
5F:→ LaPass:递回就可以很漂亮的干掉它 114.38.75.24 10/21 01:27
6F:→ LaPass:举例来说,二元树,一般状况下资料不会无 114.38.75.24 10/21 01:28
7F:→ LaPass:限制增加,递回用下去就可以解很快。 114.38.75.24 10/21 01:29
8F:推 CaptainH:在bottom-up很难写的时侯 114.137.42.228 10/21 01:31
9F:→ azureblaze:很多问题树都不会太大太深... 1.34.63.98 10/21 01:32
10F:→ MOONRAKER:习惯什麽问题用recursion写,写就对了 118.163.12.174 10/21 11:00
11F:→ MOONRAKER:什麽活在假设状况,traverse DOM tree是 118.163.12.174 10/21 11:01
12F:→ MOONRAKER:假设状况?不如说计算机应用都假设算了 118.163.12.174 10/21 11:02
13F:→ MOONRAKER:根本假议题。 >:( 118.163.12.174 10/21 11:02
14F:推 chchwy:递回!=慢 要看你怎麽写 211.21.137.252 10/21 12:38
15F:推 wuliou:用低阶语言懒得实作Stack的时候 60.244.25.92 10/21 15:29
16F:→ DreamLinuxer:Tail recursion is as fast as loop 60.251.198.205 10/21 16:39
17F:推 liar2:公司笔试的时候 好用到炸 1.161.120.225 10/26 03:22
18F:→ rofellosx:甚麽是人工智慧的语言 114.32.64.90 11/12 17:11
19F:→ suhorng:lisp XD? 140.112.16.146 11/12 18:01