Re: [問題] 計算Binary Tree的高

看板TransCSI作者 (OoOoOo)時間7年前 (2017/05/21 18:09), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《lyc811123 (L.Y.C)》之銘言: : 演算法的內容是這樣的 : int height(Node*T) : { : if(T==null)return 0; : else : { : int hL=height(T->Lchild); : int hR=height(T->Rchild); : return max(hL,hR)+1; : } : } : 想請問他的遞迴到底是怎麼運作的, : 思考了很久還是不知到他遞迴是怎麼跑的… : 可以麻煩大家幫小弟解答嗎? : 謝謝大家! 這樣子的比喻不知道可不可以? : 如果在一棟大樓,你知道底下有五層樓 那你就知道你自己在的地方是第六層(5+1) 所以以 binary tree 來說, 他的高就是最長的樓層 所以return max() 這行就是看左邊比較高,還是右邊, 然後加上自己高度回傳 所以就是這樣遞迴,每一層都找出最高的樓層數 最後就知道他的高度了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.78.81 ※ 文章網址: https://www.ptt.cc/bbs/TransCSI/M.1495361342.A.8D2.html

05/22 10:30, , 1F
嗯嗯理解了,非常謝謝大大幫小弟解答!!
05/22 10:30, 1F
文章代碼(AID): #1P8MS-ZI (TransCSI)
文章代碼(AID): #1P8MS-ZI (TransCSI)