→ Schottky: 呃,你知道什麼叫 function call 嗎? 06/14 15:13
→ Schottky: function 最後會 return 回到 caller 啊 06/14 15:14
→ Schottky: 別逃避了好好把函式呼叫和遞迴弄懂吧 XD 06/14 15:15
推 Neisseria: 初學遞迴會鬼打牆還蠻正常的 XD 06/14 15:24
→ kobe8112: 我比較不能理解你標點符號的用法(逃 06/14 15:29
→ sarafciel: 請好好搞懂遞迴跟函式流程 這是很重要的程式觀念 06/14 15:35
→ descent: 建議用 debugger 來單步追縱, 這個本來就很難懂 06/14 15:46
推 BIGbirddy: 這想好了 06/14 17:22
→ BIGbirddy: 第一次的in order會把整棵left subtree都印完才會印r 06/14 17:22
→ MOONRAKER: 他沒有回去上一層,就這樣。 06/14 17:22
→ MOONRAKER: 你畫一個五節點的樹 自己用紙筆跑一遍 06/14 17:23
推 cphe: 改用迴圈網路上找就有了吧 不過你遞迴看不懂改寫我猜你更 06/15 15:30
→ cphe: 看不懂 06/15 15:30
推 Neisseria: 二元樹不用遞迴反而比較難寫 06/15 17:42
推 Killercat: 其實不見得,需要一個stack把每次loop的時候content 06/15 23:33
→ Killercat: 記起來,除此以外應該差不多 06/15 23:33
→ Killercat: 之前有拆解過一個過深的遞迴成loop 後來發現也還好 06/15 23:34
→ Killercat: 但是遞迴絕對比loop直覺好懂就是... 06/15 23:34
推 Schottky: 二元樹看實作方式也可以做成用loop走訪卻不使用stack, 06/16 01:10
→ Schottky: 比如說每個節點除了往左和往右的指標外還有向上的指標 06/16 01:10
→ Schottky: 講這個只是要告訴原PO,迴圈反而是高級技巧 06/16 01:11
→ sarafciel: 這樣講啦 能用迴圈簡單寫的東西就不會有人用遞迴寫 06/16 08:29
→ sarafciel: 反過來說 會寫成遞迴除非是教學 不然就是它寫成迴圈會 06/16 08:31
→ sarafciel: 很麻煩 所以請看懂它 如果今天你跟人合作寫程式 06/16 08:42
→ sarafciel: 你因為看不懂遞迴叫他改迴圈 他肯改那是他佛心 06/16 08:43
→ sarafciel: 但更有可能的情況是他會翻白眼給你看XDD 06/16 08:44
推 Killercat: 一般來說 遞迴寫出來以後改迴圈 會比直接迴圈簡單 06/16 09:52
→ Killercat: 最難的就是叫你把迴圈改遞迴 囧 06/16 09:52
→ Killercat: 所以還是先用遞迴寫出來吧 06/16 09:53
推 james80351: 可以拿紙筆畫看看函式怎麼呼叫 06/16 13:34
推 k387259: 請愛用逐步執行 06/21 12:10
推 liflguy: stack的概念,慢慢疊上去再慢慢拿下來 07/01 18:20