已知乙個二叉樹,我們可以得到它的前序遍歷,中序遍歷和後續遍歷。那麼,我們已知前序和中序的遍歷結果,怎樣還原二叉樹呢?
假設前序遍歷結果為:abdcef,中序遍歷結果為dbaecf。
前序遍歷:根結點+左子樹+右子樹
中序遍歷:左子樹+根結點+右子樹
由此,我們可以得知,前序結果第乙個字母a為根結點,在中序遍歷結果中找到a,a的左側d,b為a的左子樹,a的右側e,c,f為a的右子樹;前序結果第二個字母b為a的左孩子,在中序遍歷結果中找到b,b的左側d為b的左子樹,右子樹為空;以此類推,利用遞迴,最終可以得到二叉樹。
劍指offer 根據前序遍歷和中序遍歷確定樹
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。思路 注意 前序遍歷和中序遍歷時根節點和左子樹都在右子樹前面。所以根據前序遍歷確定根節點,再根據在中序遍歷確定左右子樹的元...
前序遍歷 中序遍歷 後序遍歷
只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...
前序遍歷 中序遍歷 後序遍歷
遍歷是針對根節點的 前序遍歷順序 根節點 左子樹 右子樹 中序遍歷順序 左子樹 根節點 右子樹 後序遍歷順序 左子樹 右子樹 根節點 深入一點去理解這個排序順序是這樣的 前序遍歷 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。中...