中序遍歷訣竅 怎么由先序和中序來(lái)找二叉樹(shù)?
怎么由先序和中序來(lái)找二叉樹(shù)?在遍歷順序中,第一順序是左、右,中間順序是左、中、右。因此該方法是通過(guò)一階(根節(jié)點(diǎn)必須存在且必須是子樹(shù)遍歷的第一個(gè)節(jié)點(diǎn))找到根節(jié)點(diǎn),然后根據(jù)相應(yīng)根節(jié)點(diǎn)在中間階的位置來(lái)區(qū)分左
怎么由先序和中序來(lái)找二叉樹(shù)?
在遍歷順序中,第一順序是左、右,中間順序是左、中、右。因此該方法是通過(guò)一階(根節(jié)點(diǎn)必須存在且必須是子樹(shù)遍歷的第一個(gè)節(jié)點(diǎn))找到根節(jié)點(diǎn),然后根據(jù)相應(yīng)根節(jié)點(diǎn)在中間階的位置來(lái)區(qū)分左右子樹(shù)。左子樹(shù)是它的左子樹(shù),右子樹(shù)是它的右子樹(shù)。
例如,如果a是根,則在中間順序中,左子樹(shù)是dfegb,右子樹(shù)是cikjh。然后利用遞歸的思想對(duì)左子樹(shù)進(jìn)行分析。Dfegb在pre-order中以B開(kāi)頭,因此B是根節(jié)點(diǎn)。從中間的順序,我們可以看到這棵樹(shù)只有左子樹(shù)dfeg;D是根,只有右子樹(shù)FEG;E是根,左葉是f,右葉是g。
然后看cikjh。從前序我們知道C是根,從中序我們知道只有右子樹(shù)ikjh。從前序h作為根,從中間序我們可以看到只有左子樹(shù)IkJ。這棵樹(shù)的根是我,只有右邊的子樹(shù)。J是根,K是它的左葉。