看板 Grad-ProbAsk 關於我們 聯絡資訊
題目 https://i.imgur.com/35Y4BOm.jpg 爬文很少遇到第一題就卡關的 追蹤順序如下 按照題目的要求一開始 r=20 20有左子樹18所以遞歸unknown(18) 18有左子樹13所以遞歸unknown(13) 13沒有左子樹所以繼續往下走 13有右子樹3所以遞歸unknown(3) 3沒有左子樹所以繼續往下走 3沒有右子樹所以繼續往下走 q=p->left; //將3的左子樹賦值給q,3的左子樹是NULL所以q也是NULL p->left = p->right; // 將3的右子樹賦值給左子樹,3的右子樹是NULL所以左子樹賦值完也是NULL p->right=q; //將q賦值給3的左子樹,q是NULL所以左子樹賦值完也是NULL 結束 這一題的code看起來是要進行左右子樹交換 但是一路call到最下層卻要到左右子樹皆NULL的node才不會跳出 最後做三行沒意義的NULL=NULL程式就跳出了 請問我的追蹤過程是否有誤? ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.50.43 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1516693345.A.0A5.html
djmez: 被呼叫的遞迴結束回呼叫的下一行繼續執行 01/23 15:46
djmez: 你的unknown(13)看到unknown(3)就會從第四行繼續跑下去了 01/23 15:50
djmez: unknown(18)也是比照辦理 01/23 15:50
Paravion: 了解 感謝回覆 01/23 16:11
bightm80144: 請問一下第一大題的答案是? 01/23 17:06
bightm80144: 是CEB嗎 01/23 17:07
djmez: CEB沒錯 01/23 17:10
bightm80144: 謝謝! 01/23 17:17