二叉樹的三種遍歷

2021-08-21 07:53:42 字數 1109 閱讀 8704

在這裡說一下二叉樹的三種遍歷(前序,中序,後序)

正文:前序遍歷:是指先從根開始,再依次找尋左子結點、右子結點。

學習時的經驗就是「看圖學習」

第乙份圖:

這樣看來:

1.先找最基本的根結點(詞窮),這裡是a。

2.接著找以a為根結點的左子結點,這裡是b。

3.而以b為根結點也會出現左右結點,這就又有了乙個左結點d,d再連e(d-e)。

4.去找以b為根結點的右結點(為f-g)

5.以b為根結點的左右結點已找完,那便找上一層,也就是以a為根結點的右結點(b為左結點),便為c。

綜上所述,上圖的前序遍歷為(a-b-d-e-f-g-c)

中序遍歷:其實差不多(呵),就是把「根結點-左結點-右結點」的順序換為「左結點-根結點-右結點」

以上圖為例(再貼波圖):

中序遍歷為:d-e-b-g-f-a-c

注意點就是從下向上,就是從e-d,從子結點到結點。(個人認為差別就這一點,如果不懂再細述)

——————————

後序遍歷:和以上兩種進行區別便是先從左子結點開始,在去找右子結點,最後去找根結點。

後序遍歷為:e-d-g-f-b-c-a

再貼乙個層序遍歷吧:

其實層序遍歷顧名思義就是一層一層的訪問,一層訪問結束再訪問下一層(注意,這裡指的是整顆樹,不再單純指某子樹了)

那麼以上面那張圖為例

最後再貼上讓我豁然開朗那個圖(侵刪)

二叉樹的三種遍歷

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

二叉樹的三種遍歷

二叉樹是n n 0 個節點的有限集合,它或者是空樹 n 0 或者是有乙個根節點及兩顆不相交的且分別稱為左 右子樹的二叉樹所組成。可見,二叉樹同樣具有遞迴性質。特別需要注意的是,儘管樹和二叉樹的概念之間有許多聯絡,但它們是兩個不同的概念,樹和二叉樹之間最主要的區別是 二叉樹結點的子樹要區分左子樹和右子...

二叉樹的三種遍歷

1.先序遍歷 按照根節點 左子樹 右子樹的順序訪問二叉樹 先序遍歷 1 訪問根節點 2 採用先序遞迴遍歷左子樹 3 採用先序遞迴遍歷右子樹 注 每個節點的分支都遵循上述的訪問順序,體現 遞迴呼叫 先序遍歷結果 a bdfe cghi 思維過程 1 先訪問根節點a,2 a分為左右兩個子樹,因為是遞迴呼...