
看到這個的時候又忘記該怎么思考數(shù)據(jù)結(jié)構(gòu)的問題了,于是打算來復(fù)習(xí)一波。
順便也復(fù)習(xí)了一下二叉樹的遍歷規(guī)則,寫一下學(xué)習(xí)文檔。
樹的遍歷順序大體分為三種:先序,中序,后序遍歷。
如圖所示二叉樹:

前序遍歷(先序):前序遍歷可以記為根左右,若二叉樹為空,則結(jié)束返回。
前序遍歷的規(guī)則:
(1)訪問根節(jié)點
(2)前序遍歷左子樹
(3)前序遍歷右子樹
這里需要注意:在完成第2,3步的時候,也是要按照前序遍歷二叉樹的規(guī)則完成。
前序遍歷的輸出結(jié)果:ABDECF
中序遍歷:中序遍歷可以記為左根右,也就是說在二叉樹的遍歷過程中,首先要遍歷二叉樹的左子樹,接著遍歷根節(jié)點,最后遍歷右子樹。
同樣,在二叉樹為空的時候,結(jié)束返回。
中序遍歷的規(guī)則:
(1)中序遍歷左子樹
(2)訪問根節(jié)點
(3)中序遍歷右子樹
注意:在完成第1,3步的時候,要按照中序遍歷的規(guī)則來完成。
中序遍歷的輸出結(jié)果:DBEAFC

后序遍歷:后序遍歷可以記為左右根,也就是說在二叉樹的遍歷過程中,首先按照后序遍歷的規(guī)則遍歷左子樹,接著按照后序遍歷的規(guī)則遍歷右子樹,最后訪問根節(jié)點。
在二叉樹為空的時候,結(jié)束返回。
后序遍歷二叉樹的規(guī)則:
(1)后序遍歷左子樹
(2)后序遍歷右子樹
(3)訪問根節(jié)點
注意:在完成1,2步的時候,依然要按照后序遍歷的規(guī)則來完成。
后序遍歷的輸出順序:DEBFCA

回到最初的問題進行分析

寫出草稿


再來后序遍歷,由左右根的原則
可知第一個是C,沒有右子樹,直接B,然后到F,E,IJH,最后GDA
也就是CBFEIJHGDA