已知中序和后序遍歷畫出二叉樹 二叉樹中什么是前序、中序、后序?
二叉樹中什么是前序、中序、后序?前序:是一種二叉樹遍歷,即先訪問根節(jié)點(diǎn),然后遍歷左子樹,再遍歷右子樹。遍歷左右子樹時(shí),首先訪問根節(jié)點(diǎn),然后遍歷左子樹,然后遍歷右子樹。如果二叉樹為空,則返回。中間順序:
二叉樹中什么是前序、中序、后序?
前序:是一種二叉樹遍歷,即先訪問根節(jié)點(diǎn),然后遍歷左子樹,再遍歷右子樹。遍歷左右子樹時(shí),首先訪問根節(jié)點(diǎn),然后遍歷左子樹,然后遍歷右子樹。如果二叉樹為空,則返回。中間順序:是一種二叉樹遍歷,即先遍歷左子樹,然后訪問根節(jié)點(diǎn),再遍歷右子樹。如果二叉樹為空,則結(jié)束并返回。后序:是一種二叉樹遍歷,即先遍歷左子樹,再遍歷右子樹,然后訪問根節(jié)點(diǎn)。遍歷左右子樹時(shí),先遍歷左子樹,再遍歷右子樹,最后遍歷根節(jié)點(diǎn)。擴(kuò)展數(shù)據(jù):當(dāng)數(shù)學(xué)表達(dá)式樹按中間順序、前順序和后順序遍歷時(shí),分別得到表達(dá)式的中綴形式、前綴形式和后綴形式。如果知道前序遍歷和中序遍歷,就可以確定后序遍歷。類似地,如果知道中間順序遍歷和后順序遍歷,則可以確定前順序遍歷。如果知道前序遍歷和后序遍歷,就可以得到中間序遍歷。
已知一棵二叉樹的前序序列和中序序列分別是ABCDEFGHIJ和BAEDCHGIFJ,構(gòu)造二叉樹,并寫出其后序序列?
這是一個(gè)遞歸算法。
第一個(gè)預(yù)排序必須是根,根是a
從預(yù)排序中,我們可以分離左右子樹:B和edchgifj,它們是預(yù)排序
從預(yù)排序中,我們可以分離左右子樹:B和cdefghij,它們是預(yù)排序。
這樣的問題變成了兩個(gè)同樣的小問題,遞歸就解決不了了。
動(dòng)動(dòng)腦筋,你就會(huì)出來