二叉樹前序中序后序怎么看 數(shù)據(jù)結(jié)構(gòu)中已知前序序列和中序序列,怎么得出后序序列?
數(shù)據(jù)結(jié)構(gòu)中已知前序序列和中序序列,怎么得出后序序列?首先要明確前序、中序、后序的遍歷順序:前序:父節(jié)點、左子節(jié)點、右子節(jié)點;中序:左子節(jié)點、父節(jié)點、右子節(jié)點;后序:左子節(jié)點、右子節(jié)點、父節(jié)點;首先根據(jù)
數(shù)據(jù)結(jié)構(gòu)中已知前序序列和中序序列,怎么得出后序序列?
首先要明確前序、中序、后序的遍歷順序:前序:父節(jié)點、左子節(jié)點、右子節(jié)點;中序:左子節(jié)點、父節(jié)點、右子節(jié)點;后序:左子節(jié)點、右子節(jié)點、父節(jié)點;首先根據(jù)前序遍歷,確定整個二叉樹的根節(jié)點(前序的第一個節(jié)點),然后通過中間序遍歷,將整個二叉樹按根節(jié)點直接劃分為兩個子樹。
此時,按照預序和中間序一步一步地繪制整個二叉樹并不困難。然后我們可以編寫后序遍歷序列。例如:已知二叉樹的前序遍歷序列為bc D E F H,中序遍歷序列為bd C E a H F,寫后序遍歷序列。根據(jù)前序,樹的根節(jié)點是a;根據(jù)中間序和根節(jié)點,B、D、C、E在根節(jié)點的左子樹上,H、F在根節(jié)點的右子樹上;通過對每個子樹的逐步分析,樹是a/B F/C H/De,第二級是:decbhfa首先恢復二叉樹,然后遍歷二階,得到二階序列。恢復過程如下:首先,一階序列中的第一個是根。在得到二階序列后,二階序列可以分為三部分:左子樹的中階,根,右子樹的中階,然后左子樹和右子樹的中階返回到這些子樹的前階序列中的一階序列,根子樹的順序仍然在第一位,它會返回到子樹的中間順序進行再次剪切,直到所有子樹只有一個節(jié)點
Abdgcehf:解、預序、左中右、后序、左中、中序、左中再;根據(jù)下面的a是根節(jié)點,根據(jù)中間順序,DGB是左邊的樹,其余的是右邊的樹。以DGB為例,重復上述步驟