1樓:巴伐利亞巨人
拿先序遍歷舉例: 先序遍歷 是根左
右先遍歷根a,然後遍歷a的左子樹(是版左面那一群),然後遍歷a的右子權樹(為空)。
在a的左子樹中,先遍歷根也就是b,在遍歷b的左子樹也就是c,在遍歷b的右子樹,是右邊的一群。
在b的右子樹中繼續…………
資料結構二叉樹已知中序遍歷,後序遍歷,求先序遍歷???
2樓:匿名使用者
通過分段來解決,找到根節點(通過後序),然後將中序序列分成兩段,左右子樹,版然後遞迴進行,分的時候可以利權用求中序的左右子樹的結點個數來確定後序序列的每段節點個數.
例如中 bdace
後 dbeca1.由後序遍歷的知道最後一個節點一定是根節點,該例中為a
2.中序中對應的根就是a,推得a為根bd為左子樹ce為右子樹
3.左子樹2個結點右子樹也為2個,因為後序遍歷是先左再右因此將後序分為兩段左db,右ec
4.由此確定左子樹的根為b,右子樹根為c
5.在回到中序中左子樹部分 bd (b為根)其右子樹為d 左子樹部分 根為c右子樹為e
如果結點和多的時候判斷都是這樣遞迴地進行.
由上述推得的結果
得到2叉樹的結構圖
-----a
----/--\
---b---c
----\-----\
-----d----e
得前序為 abcde
資料結構已知一棵二叉樹的前序遍歷的結果序列是ABCDEFGHIJ,中序遍歷的結果是
如果僅有 已知一棵二叉樹的前序遍歷的結果序列是abcdefghij 則中序遍歷的結果是不能確定的。二叉樹遍歷時,只有知道前序遍歷和中序遍歷 後序遍歷和中序遍歷 才能唯一確定這顆樹,所以你的答案應該是多種。資料結構二叉樹,已知中序遍歷 後序遍歷,如何求先序遍歷?preorder遍歷 訪問根節點的操作發...
資料結構中序和後序怎麼畫二叉樹
舉個例子 中序 dgbaechf 左根右後序 gdbehfca 左右根 版1 確定根 由後序得權 中序 dgb a echf 後序 gdb ehfc a 2 確定左節點 由上已知,左節點沒有有節點 3 確定右節點 中序 e c hf 後序 e hf c 確定整棵樹為 a b c d e f g h ...
資料結構樹轉換為二叉樹時,樹有分左右子樹嗎
樹也分,左邊的是第一個孩子,其他的各個孩子順次接在結點的右子樹 資料結構樹和二叉樹轉換時,樹有分左右子樹嗎?樹中一個結點只有一個孩子,這個孩子不分左右,是第一棵子樹 資料結構與演算法 二叉樹交換左右子樹演算法 傳入樹的根結點即可 exchangelr root root為樹的根節點 void exc...