樹的先根遍歷相當(dāng)于二叉樹的 先序遍歷與后序遍歷?
先序遍歷與后序遍歷?前序遍歷:首先訪問(wèn)根節(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。在遍歷左、右子樹時(shí),我們還是先訪問(wèn)根節(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。后序遍歷:首先遍歷左子樹,然后遍歷右子樹,最后訪
先序遍歷與后序遍歷?
前序遍歷:首先訪問(wèn)根節(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。在遍歷左、右子樹時(shí),我們還是先訪問(wèn)根節(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。
后序遍歷:首先遍歷左子樹,然后遍歷右子樹,最后訪問(wèn)根節(jié)點(diǎn)。遍歷左、右子樹時(shí),仍先遍歷左子樹,再遍歷右子樹,最后遍歷根節(jié)點(diǎn)。
一棵二叉樹的中序遍歷序列為:DGBAECHF,后序遍歷序列為:GDBEHFCA,則前序列遍歷序列是?
我不知道您是否理解前、中、后順序遍歷的概念?
前序遍歷,也稱為根遍歷,是先訪問(wèn)根,然后訪問(wèn)左子樹,然后訪問(wèn)右子樹。
中間順序是先訪問(wèn)左子樹,然后訪問(wèn)根,然后訪問(wèn)右子樹。
根之后是先訪問(wèn)左子樹,然后訪問(wèn)右子樹,最后訪問(wèn)根。
簡(jiǎn)而言之,您可以看到遍歷序列是gdbehfca,最后一個(gè)是a,表示a是根。然后轉(zhuǎn)到中間順序遍歷序列:dgbaechf,看到中間的a,把dgbaechf分成DGB和echf,好的,現(xiàn)在分別看這兩個(gè)子樹,左子樹DGB和右子樹echf。
同樣,遍歷序列g(shù)dbehfca后,找到三個(gè)字母DGB,發(fā)現(xiàn)它是這樣排列的,GDB,因?yàn)樗竺媸潜闅v,所以子樹DGB的根是B。此時(shí),通過(guò)觀察中間順序DGB和后順序GDB,您發(fā)現(xiàn)中間順序的右邊沒有任何內(nèi)容,所以得出子樹GDB沒有右分支的結(jié)論。同樣,我們發(fā)現(xiàn)子樹echf的根是C,左子樹只有e,右子樹是HF。
像這樣一步一步地分析
然后得出結(jié)論:前序遍歷是abdgcefh。
你最好畫一幅畫。
我為你畫了這幅畫。有點(diǎn)難看。湊合著吧,哈哈。
二叉樹的先中后序的遍歷,是怎么樣遍歷的?
根據(jù)您的圖形,無(wú)論是前序遍歷、中序遍歷還是后序遍歷,都是基于根的,也就是說(shuō),您只需查看根即可。對(duì)于中間順序的遍歷,按照規(guī)則,順序是左根右,根是F,對(duì)于根的左邊,它是F左邊的一堆,右邊是F右邊的一堆,對(duì)于左邊,根是C,C的左右兩邊的確定方法和上面的一樣。對(duì)于右邊,根是e,有e,但e的左邊是空的,寫為(()C())f(e())。這樣,acbdfeg就被依次編寫。當(dāng)然,寫作時(shí)不需要寫括號(hào),只是為了便于解釋。前序遍歷與后序遍歷相同。