1樓:美酒賓克斯
首先理解概念:
前序遍歷:訪問根結點的操作發生在遍歷其左右子樹之前。
中序遍歷:訪問根結點的操作發生在遍歷其左右子樹之中(間)。
後序遍歷:訪問根結點的操作發生在遍歷其左右子樹之後。
eg:後序遍歷為dbcefgha,中序遍歷為edcbahfg,求前序遍歷(網上例子)
解:首先 看後序遍歷dbcefgha,a為總根節點然後 尋找中序遍歷edcbahfg中a位置,則edcb在a的左枝,hfg在a的右枝;
重複前兩步,從後序遍歷最後一位找,在中序遍歷尋找對應點,得出左右分枝...
最後得到aecdbhgf,再自己驗證即可...
已知二叉樹的後序遍歷序列和中序遍歷序列,怎樣求其前序遍歷序列!
2樓:美酒賓克斯
首先理解概copy念:
前序遍歷:訪問根結點的操作發生在遍歷其左右子樹之前。
中序遍歷:訪問根結點的操作發生在遍歷其左右子樹之中(間)。
後序遍歷:訪問根結點的操作發生在遍歷其左右子樹之後。
eg:後序遍歷為dbcefgha,中序遍歷為edcbahfg,求前序遍歷(網上例子)
解:首先 看後序遍歷dbcefgha,a為總根節點然後 尋找中序遍歷edcbahfg中a位置,則edcb在a的左枝,hfg在a的右枝;
重複前兩步,從後序遍歷最後一位找,在中序遍歷尋找對應點,得出左右分枝...
最後得到aecdbhgf,再自己驗證即可...
3樓:學曦夏笑槐
後序復遍歷的最後乙個制字母為二叉bai
樹「根」;du
前序遍歷的第一
zhi個字母為二叉dao樹「根」;e/
\d b\c/a
已知二叉樹後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍因序列是多少,請詳解(**)
4樓:匿名使用者
cedba
方法很簡單
dabec是後序遍歷
則c是根節點
將中序遍歷以c為中心分為兩邊
如此操作即可得到一棵樹
(dabec),(debac)
((dabe)c),((deba)c)
(((dab)e)c),(((d)e(ba))c)((((d)(a)b)e)c),(((d)e(b(a)))c)這樣就把樹給構造了出來
5樓:李希欠
前序遍因序列是cedba。
二又樹的遍歷有3種:前序、中序和後序。
①前序首先遍歷訪問根結點,然後按左右順序遍歷子結點。
②中序遍歷首先訪問左子樹,然後訪問根結點,最後遍歷右子樹。
③後序遍歷首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。本題根據後序和中序遍歷的結果可以得出二叉樹的結構,然後再對其進行前序遍歷。
二叉樹在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(left subtree)和「右子樹」(right subtree)。二叉樹常被用於實現二叉查詢樹和二叉堆。
二叉樹的每個結點至多只有二棵子樹(不存在度大於2的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第i層至多有2^個結點。
深度為k的二叉樹至多有2^k-1個結點;對任何一棵二叉樹t,如果其終端結點數為n_0,度為2的結點數為n_2,則n_0=n_2+1。
一棵深度為k,且有2^k-1個節點稱之為滿二叉樹;深度為k,有n個節點的二叉樹,當且僅當其每乙個節點都與深度為k的滿二叉樹中,序號為1至n的節點對應時,稱之為完全二叉樹。
6樓:匿名使用者
這種簡單的遞迴演算法不知被問了多少次了。搜一下就有方法,很簡單
已知前序遍歷和後序遍歷,怎麼求可能的中序遍歷
7樓:好程式設計師
僅供參考,
if(low_x high_h])
if(low_x+1<=high_x || high_h-1 >= low_h)
else if(pre [low_x+1] = = post [high_h-1])
}if (low_x+1> high_x || high_h-1 < low_h)}
設一棵二叉樹的中序遍歷序列為BDCA,後序遍歷序列為DBAC
這個先根據後序遍歷確定根節點為c。再根據中序遍歷得到根節點的右孩子為a。然後根據後序遍歷確定,b是根節點的左孩子,d是b的孩子。再根據中序遍歷,得到d是b的右孩子。根據這個畫出二叉樹。前序遍歷結果是 cbda。後序序列最後乙個為根節點,所以c為根節點,由中序遍歷和後序遍歷可以達到,二叉樹如下 由二叉...
先序線索二叉樹的遍歷,後序線索二叉樹怎麼畫啊
include include typedef enum pointertag 指標標誌 typedef char datatype typedef struct bithretreebithretree bithretree pre 全域性變數,用於二叉樹的線索化 bithretree creat...
已知一棵二叉樹的先序遍歷序列為abcdefghij中序
先看先序,其第乙個為樹的根,先序遍歷是先根再左子樹最後右子樹,第乙個肯定是樹的根,先畫a,a再中序遍歷中左右都有,說明a有左子樹也有右子樹。a 然後看先序第乙個值是b,在中序中為a的前面,所以b是a的左子樹a b繼續看先序,接下來是c d,c再中序中再b的前面,所以c是b的左子樹,d在b後面,d是b...