二叉樹的前序中序,中序後序建樹

2021-09-29 15:35:15 字數 779 閱讀 7609

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 樣例輸出...