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