tree *
creat1
(int len,
char s1,
char s2)
//長度 s1起始點位址 s2起始點位址
// a bdfghie c
t->data=s1[0]
;// fdhgibe a c
t->l=
creat1
(i,s1+
1,s2)
;//s1+1將先序第乙個根節點空過去
t->r=
creat1
(len-i-
1,s1+i+
1,s2+i+1)
;//剩下的節點個數 與根節點相同點的後面座標
}
tree *
creat2
(int len,
char s2,
char s3)
t->data=s3[len-1]
;//dbge a fc
t->l=
creat1
(i,s1,s2)
;//dgeb fc a
t->r=
creat1
(len-i-
1,s2+i+
1,s3+i)
;//s2+i+1 s2後len-i-1長度個
}//s3+i s3除最後乙個根節點 的後len-i-1長度個
//所以s3不用+1,長度在for迴圈中控制
前序中序和中序後序還原二叉樹
前序中序還原二叉樹 struct node creat int len,char str1,char str2 由先序序列和中序序列建立二叉樹 root lchild creat i,str1 1,str2 建立左子樹 root rchild creat len i 1,str1 i 1,str2 ...
二叉樹遍歷(前序,中序,後序
二叉樹的遍歷有三種方式,如下 1 前序遍歷 dlr 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。簡記根 左 右。2 中序遍歷 ldr 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。簡記左 根 右。3 後序遍歷 lrd 首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。簡記左 右 根。例1 如上圖...
前序中序出後序 二叉樹
描述 輸入一棵二叉樹的先序和中序遍歷序列,輸出其後序遍歷序列。輸入輸入檔案為tree.in,共兩行,第一行乙個字串,表示樹的先序遍歷,第二行乙個字串,表示樹的中序遍歷。樹的結點一律用小寫字母表示。輸出輸出檔案為tree.out,僅一行,表示樹的後序遍歷序列。樣例輸入 abdec dbeac 樣例輸出...