二叉樹學習(轉載)
阿新 • • 發佈:2022-05-16
以上圖為基礎
①前序遍歷的方式是:首先訪問根節點,然後訪問左子樹,最後訪問右子樹。
前序遍歷序列:F C A D B E H G M
②中序遍歷的方式是:首先訪問左子樹,接著訪問根結點,最後訪問右子樹。
中序遍歷序列:A C B D F H E M G
③後序遍歷的方式是:首先訪問左子樹,接著訪問右子樹,最後訪問根結點。
後序遍歷序列:A B D C H M G E F
④相同的特點:
左子樹總是在右子樹的之前遍歷。
遍歷都可以用遞迴的方式來描述。
中序遍歷的序列中任取一個結點,該結點的左子樹右子樹一定分別在該結點左右,其他遍歷序列也是如此。
遍歷實質就是看每個結點及其子結點,誰先滿足訪問的要求,比如上圖A結點,在後續遍歷整個二叉樹中A及其子結點先滿足-訪問完左右結點-,所以先訪問A結點。
⑤由序列逆推二叉樹
給定一個序列無法確定二叉樹結構
給定中序+前/後序則可以確定二叉樹結構
先序遍歷: GDAFEMHZ
中序遍歷: ADEFGHMZ
後序遍歷: AEFDHZMG
前序遍歷A-B-D-F-G-H-I-E-C
中序遍歷F-D-H-G-I-B-E-A-C
後序遍歷F-H-I-G-D-E-B-C-A
前序順序A-B-D-F-G-H-I-E-C
中序順序F-D-H-G-I-B-E-A-C
後序順序F-H-I-G-D-E-B-C-A
• 前序遍歷: ABDECFG
• 中序遍歷: DBEAFCG
• 後續遍歷: DEBFGCA
————————————————
版權宣告:本文為CSDN博主「程式碼敲上天...」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/m0_52226803/article/details/117423431