前中后序遍歷有技巧嗎 如何根據(jù)前序遍歷序列和中序遍歷序列確定二叉樹?
如何根據(jù)前序遍歷序列和中序遍歷序列確定二叉樹?給定二叉樹的前序序列和中序序列,構造二叉樹的過程如下:1。根據(jù)前序序列的第一個元素建立根節(jié)點。找到中間序列中的元素,確定根節(jié)點左右子樹的中間序列。確定左、
如何根據(jù)前序遍歷序列和中序遍歷序列確定二叉樹?
給定二叉樹的前序序列和中序序列,構造二叉樹的過程如下:1。根據(jù)前序序列的第一個元素建立根節(jié)點。找到中間序列中的元素,確定根節(jié)點左右子樹的中間序列。確定左、右子樹在前序序列中的前序序列;4左子樹由左子樹的前序序列和中間序列建立。右子樹由右子樹的前序序列和中間序列建立。給定二叉樹的后序序列和中序序列,構造二叉樹的過程如下:1。根據(jù)后序序列的最后一個元素建立根節(jié)點。找到中間順序中的元素,確定根節(jié)點左右子樹的中間順序。確定后序序列中左右子樹的后序序列;4.5。右子樹由右子樹的后序序列和中序序列組成。另外,站長群上還有產(chǎn)品團購,便宜是有保證的
首先,前序、中序、后序的遍歷順序要明確:前序:父節(jié)點、左子節(jié)點、右子節(jié)點;中序:左子節(jié)點、父節(jié)點、右子節(jié)點;后序:左子節(jié)點、右子節(jié)點、父節(jié)點;后序:左子節(jié)點、右子節(jié)點、右子節(jié)點;首先根據(jù)前序遍歷,確定整個二叉樹的根節(jié)點(前序的第一個節(jié)點);然后通過中間序遍歷,整個二叉樹可以根據(jù)根節(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é)點決定的,中間順序決定左子樹和右子樹,如第一個節(jié)點a。根據(jù)中間順序,a的左子樹是DBE,右子樹是FC。然后根據(jù)前一階確定第二根B。按照中間順序,B的左子樹是D,右子樹是e。依次重復,直到遍歷所有節(jié)點。所以后序遍歷debfca