樹的遍歷順序大體分為三種:前序遍歷(先根遍歷、先序遍歷),中序遍歷(中根遍歷),後序遍歷(後根遍歷)。
如圖所示二叉樹:
前序遍歷:前序遍歷可以記為根左右,若二叉樹為空,則結束返回。
前序遍歷的規則:
(1)訪問根節點
(2)前序遍歷左子樹
(3)前序遍歷右子樹
這裡需要注意:在完成第2,3步的時候,也是要按照前序遍歷二叉樹的規則完成。
前序遍歷的輸出結果:abdecf
中序遍歷:中序遍歷可以記為左根右,也就是說在二叉樹的遍歷過程中,首先要遍歷二叉樹的左子樹,接著遍歷根節點,最後遍歷右子樹。
同樣,在二叉樹為空的時候,結束返回。
中序遍歷的規則:
(1)中序遍歷左子樹
(2)訪問根節點
(3)中序遍歷右子樹
注意:在完成第1,3步的時候,要按照中序遍歷的規則來完成。
中序遍歷的輸出結果:dbeafc
後序遍歷:後序遍歷可以記為左右根,也就是說在二叉樹的遍歷過程中,首先按照後序遍歷的規則遍歷左子樹,接著按照後序遍歷的規則遍歷右子樹,最後訪問根節點。
在二叉樹為空的時候,結束返回。
後序遍歷二叉樹的規則:
(1)後序遍歷左子樹
(2)後序遍歷右子樹
(3)訪問根節點
注意:在完成1,2步的時候,依然要按照後序遍歷的規則來完成。
後序遍歷的輸出順序:debfca
二叉樹遍歷規則
今天看了一些關於平和查詢二叉樹的問題,順便也複習了一下二叉樹的遍歷規則,寫一下學習文件。樹的遍歷順序大體分為三種 前序遍歷 先根遍歷 先序遍歷 中序遍歷 中根遍歷 後序遍歷 後根遍歷 如圖所示二叉樹 前序遍歷 前序遍歷可以記為根左右,若二叉樹為空,則結束返回。前序遍歷的規則 1 訪問根節點 2 前序...
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...
二叉樹遍歷
二叉樹的遍歷非常重要,但對已一棵比較複雜的樹,要寫出它的先 中 後序遍歷,往往不是那麼簡單,也很容易犯錯。這裡介紹一種比較直觀且不容易犯錯的方法。對於圖1所示的二叉樹,要寫出它的先 中 後序遍歷,往往很容易出錯。圖 1 其實,我們可以用圖2中的紅線描畫出二叉樹的輪廓。圖 2 而對於樹上的每乙個節點,...