某二元樹的中序遍歷序列為CBADE,後序遍歷序列為CBADE,則前序遍歷序列為EDABC。
首先,後序遍歷的意思是先訪問父節點的左右兩個子節點,最後訪問父節點。
因此後序遍歷序列的最後一個元素就是二元樹的根節點,即E,於是CBAD為E的後代節點。 ( 推薦學習:web前端視訊教學)
現在繼續查看中序遍歷,中序遍歷的意思是,先訪問父節點的左孩子,再訪問父節點,最後訪問右孩子。
因此在根節點E的左邊的CBAD為它的左孩子,它沒有右孩子。然後再回到後序遍歷序列,因為我們已經知道E為根節點了,所以只需要考慮CBAD。
於是D為E的直屬左孩子,即D為左子樹的根節點。然後繼續檢查中序遍歷,可以發現D沒有右子樹,只有左孩子CBA。
依序類推,可以發現這個二元樹的所有節點都沒有右孩子,從上到下分別為EDABC,因此其前序遍歷為EDABC。
二元樹特徵:
1、每個結點最多有兩顆子樹,所以二元樹中不存在度大於2的結點。
2、左子樹和右子樹是有順序的,次序不能任意顛倒。
3、即使樹中某結點只有一棵子樹,也要區分它是左子樹還是右子樹。
以上是某二元樹的中序遍歷序列為cbade,則前序遍歷序列為的詳細內容。更多資訊請關注PHP中文網其他相關文章!