Python入門篇-數據結構樹(tree)的遍歷
數據結構
做者:尹正傑spa
版權聲明:原創做品,謝絕轉載!不然將追究法律責任。code
一.遍歷blog
迭代全部元素一遍。
二.樹的遍歷遞歸
對樹中全部元素不重複地訪問一遍,也稱做掃描。
三.廣度優先遍歷入門
層序遍歷:
(1)按照樹的層次,從第一層開始,自左向右遍歷元素
(2)遍歷序列以下圖所示,(ABCDEFGHI)
四.深度優先遍歷class
設樹的根結點爲D,左子樹爲L,右子樹爲R,且要求L必定在R以前,則有下面幾種遍歷方式:
前序遍歷,也叫先序遍歷、也叫先根遍歷,DLR
中序遍歷,也叫中根遍歷,LDR
後序遍歷,也叫後根遍歷,LRD
1>.前序遍歷DLR遍歷
從根結點開始,先左子樹後右子樹 每一個子樹內部依然是先根結點,再左子樹後右子樹。遞歸遍歷 遍歷序列以下圖所示:(ABDGHCEIF)
2>.中序遍歷im
從根結點的左子樹開始遍歷,而後是根結點,再右子樹
每一個子樹內部,也是先左子樹,後根結點,再右子樹。遞歸遍歷
遍歷序列
左圖:GDHBAIECF
右圖:GDHBAEICF
3>.後序遍歷數據
先左子樹,後右子樹,再根結點
每一個子樹內部依然是先左子樹,後右子樹,再根結點。遞歸遍歷
遍歷序列以下圖所示:(GHDBIEFCA)
五.遍歷序列
將樹中全部元素遍歷一遍後,獲得的元素的序列。將層次結構轉換成了線性結構