由前序和中序確定二叉樹 數(shù)據(jù)結(jié)構(gòu)中序和后序怎么畫二叉樹?
數(shù)據(jù)結(jié)構(gòu)中序和后序怎么畫二叉樹?舉個例子中序:dgbaechf //左根右后序:gdbehfca //左右根(1)確定根由后序得中序:(dgb)a(echf) 后序:(gdb
數(shù)據(jù)結(jié)構(gòu)中序和后序怎么畫二叉樹?
舉個例子
中序:dgbaechf //左根右
后序:gdbehfca //左右根
(1)確定根
由后序得
中序:(dgb)a(echf) 后序:(gdb)(ehfc)a
(2)確定左節(jié)點
由上已知,左節(jié)點沒有有節(jié)點
(3)確定右節(jié)點
中序【(e)c(hf)】 后序:【(e)(hf)c】
確定整棵樹為
---------a--------
------b-----c-----
---d-----e----f---
------g-----h-----
怎么根據(jù)二叉樹的前序,中序,確定它的后序?
怎么根據(jù)二叉樹的前序,中序,確定它的后序
二叉樹遍歷分為三類:前序遍歷,中序遍歷和后序遍歷。
前序遍歷:先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且在遍歷左,右子樹時,仍需先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹。
中序遍歷:先遍歷左子樹,然后訪問根節(jié)點,最后遍歷右子樹;并且在遍歷左,右子樹時,仍先歷左子樹,然后訪問根節(jié)點,最后遍歷右子樹。
后序遍歷:先遍歷左子樹,然后遍歷右子樹,最后訪問根節(jié)點;并且在遍歷左,右子樹時,仍先歷左子樹,然后遍歷右子樹,最后訪問根節(jié)點。
由中序和后序可以知道B,C,D,E是左子樹,H,F(xiàn),G是右子樹,A是根節(jié)點。因為后序遍歷最后訪問的是根節(jié)點。在左子樹中C是D和B的子節(jié)點,E是C的子節(jié)點,在右子樹中H是G和F的子節(jié)點,
A是根節(jié)點。最后可以推出前序序列是:AECDBHGF