已知二叉樹的後序遍歷序列和中序遍歷序列,怎樣求其前序遍歷序列

2021-04-11 05:56:13 字數 2227 閱讀 6929

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...