這道題本質上是要我們根據二叉樹遍歷序列確定二叉樹,只要二叉樹確定了,求它的任何遍歷序列都是易如反掌的。
理論基礎:
由二叉樹的先序遍歷序列(preordertr**erse)和中序遍歷序列(inordertr**erse)或由其後序遍歷序列(postordertr**erse)和中序遍歷序列均能唯一地確定一棵二叉樹。求解過程:
1. 先序序列第乙個結點一定是二叉樹的根節點。
2.根節點在中序序列中必然將中序序列分割為兩個子串行,前乙個序列為根節點的左子樹的中序序列,後乙個序列為根節點的右子樹的中序序列。
3. 遞迴使用以上兩條法則,直到序列只剩下乙個結點。
如果是後序序列和中序序列,那麼步驟1改為後序序列的最後乙個結點一定是二叉樹的根結點。
例:已知結點的先序序列和中序序列分別為:
先序序列:18 14 7 3 11 22 35 27
中序序列:3 7 11 14 18 22 27 35
則可按上述分解求得整棵二叉樹。
作者注:
根據遍歷序列確定二叉樹
1.在先序序列中,第乙個結點一定是二叉樹的根結點 2.在中序序列中,根結點必然將中序序列分割成兩個子串行 前乙個子串行是根結點的左子樹的中序序列,後乙個是右子樹的 3.根據這兩個子串行,在先序序列中找到對應的左右子串行 4.在先序序列中,左子串行的第乙個結點是左子樹的根結點,右子串行同理 5.如此遞...
二叉樹 根據二叉樹遍歷序列構造二叉樹
二叉樹的節點型別宣告如下 struct btnode 定理1任何 n 0 個不同節點的二叉樹,都可由它的前序序列和中序序列唯一地確定。根據前序遍歷的特點,知前序序列 presequence 的首個元素 presequence 0 為二叉樹的根 root 然後在中序序列 insequence 中查詢此...
6 7由遍歷序列確定的二叉樹
在二叉樹的遍歷中,我們知道,給定一棵二叉樹和一種遍歷方法,就可以確定該二叉樹相應的線性序列。那麼,根據給定的遍歷序列能否唯一的確定一棵二叉樹呢?顯然,只由一種序列是無法確定二叉樹的,要根據遍歷序列確定二叉樹,至少需要知道該二叉樹的兩種遍歷序列。表 6 1 列出了兩種遍歷序列組合確定二叉樹的情況。例已...