STL的應用 已知前序 中序求後序

2021-08-07 20:25:07 字數 1046 閱讀 7262

二叉樹的前序、中序、後序遍歷算是比較簡單的,一般知道了中序和前(後)序,即可求後(前)序

輸入:第一行輸入二叉樹的結點數n。

第二行輸入前序的節點編號

第三行輸入中序遍歷的節點編號序列

節點編號為從1至n的整數。請注意,1不一定時根節點

輸出:在一行中輸出按後序遍歷時的節點編號序列。相鄰節點編號之間用1個空格隔開。

限制:1《結點數<<100示例

輸入:

5 1 2 3 4 5

3 2 4 1 5

輸出:

3 4 2 5 1

解析:我們知道前序是(根節點、左子樹、右子數),中序是(左子樹、根節點、右子數),後序是(左子樹、右子數、根節點)我們可以利用後序的性質,使得在遞迴返回的時候將後序的節點放入陣列中

小結利用stl的性質,充分壓縮了**的量數,同時也使得**可讀性提高了幾個等級。該方法充分利用了前中後序列的性質,也很巧妙的和遞迴結合在了一起,遞是發現問題,歸是解決問題。

已知前序中序,求後序

思路 先序的遍歷規則為根 左 右,中序的遍歷規則為左 根 右,所以我們在中序中找到與a a必為根 相等的字元,則在中序中g d h b為a的左子樹,e i c j f為a的右子樹,在左子樹和右子樹中,重複前面過程,最後逆向將根列印出來,就是其後序。是乙個遞迴過程 include include us...

已知前序和中序求後序與已知中序和後序求前序的演算法

這個問題在面試中很常見,本人就碰到過一次,已經吃過一次虧了。程式說明 已知二叉樹的前序序列和中序序列,寫乙個演算法獲取其後序序列 已知二叉樹的中序和後序序列,求前序序列 程式思路 這是乙個遞迴的過程,先從前序中找根節點,然後通過中序中進行判斷,如果在左,那麼第二個結點就是左結點,如果在右,那麼就是右...

前序中序求後序 後序中序求前序層次 模板

這是資料結構的知識。剛開始先拒絕用指標去寫。當我把這個想法和別人分享是,別人說不喜歡用指標的程式設計師不是乙個好的c c 程式設計師。所以,就有了這麼勵志的時刻,我參考大牛的 自己用指標寫了個遍,直接1a 不用指標總是出現各種想不到的錯誤。心累。orz.include include include...