二叉樹三種遍歷及還原

2021-07-24 04:08:43 字數 942 閱讀 6748

先序:根左子樹 右子樹

從頭結點開始abdecf

規律:最左邊的元素是這個二叉樹最頂層節點。也就是a

中序:左子樹根 右子樹

從最後一層葉子節點開始遍歷:dbeafc

規律:從整體來講a在樹的中間,dbe是a為根結點左子樹部分,fc為右子樹部分。模擬到bde這棵樹,b在中間,d在左,e在右

後序遍歷:左子樹右子樹 根

從最後一層葉子節點開始遍歷debfca

規律:最右邊的元素是二叉樹最頂層節點

總結相當於乙個規律,在整個樹執行,在每乙個子樹裡執行。像中序a為整棵樹中間節點,在bde子樹中d為中間節點。在後序遍歷中左右根,整棵樹a在最右邊形如式

(左1)(右1)a

而在(左1)中再執行左右根deb,同理(右1)是fc。

舉例在上圖中d節點加左右節點g、h,f節點後加i、j

中序:gdhbeaifjc

後序:ghdebijfca

還原圖一

先序+後序

先序:abdecf

中序:dbeafc

先序遍歷第乙個節點是頂層節點a,b是a的左節點

中序遍歷對照 dbe a fc     b是a的左節點則 (d be)  a  fc 得出左子樹結構,中序知cf結構

中序+後序

中序dbeafc

後序debfca

後續最後乙個是根結點a由此可以把中序分成dbe  a  fc。再由後序左子樹deb中b為de的父親,從中序知道d為左e為右。同理cf中f為c左邊葉子節點。

二叉樹的三種遍歷

重新又看了一遍二叉樹 binary tree 發現很多東西自己還沒有弄明白,原來三種遍歷方式還不是自己想象中的那樣 前序遍歷 preorder 是先輸出自己,然後左,最後右。中序遍歷 inorder 是先左,再輸出自己,最後右。後序遍歷 postorder 是先左,再右,最後輸出自己。所謂的xx遍歷...

二叉樹三種遍歷方式

三種遍歷方式是按照根節點的訪問順序來定義的 1 前序遍歷 先訪問根結點 然後遍歷左子樹,最後遍歷右子樹 並且,在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。根左右 2 中序遍歷 先遍歷左子樹 然後訪問根結點,最後遍歷右子樹 並且,在遍歷左 右子樹時,仍然先遍歷左子樹,然後訪問...

二叉樹的三種遍歷

在這裡說一下二叉樹的三種遍歷 前序,中序,後序 正文 前序遍歷 是指先從根開始,再依次找尋左子結點 右子結點。學習時的經驗就是 看圖學習 第乙份圖 這樣看來 1.先找最基本的根結點 詞窮 這裡是a。2.接著找以a為根結點的左子結點,這裡是b。3.而以b為根結點也會出現左右結點,這就又有了乙個左結點d...