Re: [討論] 遞迴要如何鍛鍊

作者: GALINE (天真可愛CQD)   2016-08-21 15:56:58
※ 引述《ripple0129 (perry tsai)》之銘言:
: 大家覺得遞迴是很吃天份的東西嗎,
: 怎樣的鍛鍊方式能夠讓使用遞迴得心應手?
: 小弟是個費式數列都寫不出來的遞迴白癡,
: 有請大大分享心得。
: 或是建議不要寫遞迴這種鬼東西?
要用遞迴,要習慣遞迴是一種 "各自擊破" 的做法
這是思考方式的問題,抄 code 不一定抄得來
例如葉問一個打十個,用遞迴來講就是"先打一個,然後打剩下的"
然後遞迴必須要給一個"好了打完了收工"的條件,不然會沒完沒了
以下虛擬碼
作者: MOONY135 (談無慾)   2016-08-21 16:26:00
看起來很潮的用法
作者: typepeter (∵Peter∴笑點)   2016-08-21 16:50:00
生動
作者: lucky1lk (賭到沒錢的人)   2016-08-21 17:36:00
兩個凸 給你推
作者: GameHeven (Mark Williams)   2016-08-21 19:45:00
比喻不錯
作者: DeathWatch (愛情模糊理論)   2016-08-21 23:19:00
要寫遞迴要先把條件搞懂,把問題拆分成小問題
作者: viper9709 (阿達)   2016-08-22 00:03:00
葉問打很多人會很累XD
作者: dnabossking (少狂)   2016-08-22 02:52:00
請問為什麼1是0?不是1、1、2、3、5、8嗎?
作者: konanno1 (konanno1)   2016-08-22 17:42:00
(f=(a,b,n)=>{n==0?b:console.log(b)&f(b,a+b,--n)})(0,1,12) //費式,JavaScript 一行極限了
作者: recorriendo (孟新)   2016-08-23 02:45:00
這種寫法如果編譯沒優化的話 stack是指數級增長的記得以前試過n大概在五六十就整個爆了http://stackoverflow.com/questions/13826810/

Links booklink

Contact Us: admin [ a t ] ucptt.com