二叉樹的應用 前中序轉後序

2021-10-07 11:58:46 字數 943 閱讀 6466

struct

btnode()

;

2.遞迴遍歷方法(eg.中序遍歷)

void

inorder

(btnode *tree)

struct node

;

解題:

#include

#include

#include

using

namespace std;

struct nodetree[50]

;//靜態記憶體分配陣列

int loc=0;

//靜態陣列中已分配的陣列個數

//申請乙個結點空間,返回指向他的指標

node *

creat()

//儲存前中序遍歷字元

char str1[50]

,str2[50]

;//後序遍歷

void

postorder

(node *t)

//由前中序建立一棵二叉樹,返回根節點

//前序遍歷結果為由srt1[s1]到srt2[e1]

//中序遍歷結果為由srt2[s2]到srt2[e2]

node *

build

(int s1,

int e1,

int s2,

int e2)

}//遞迴還原左子樹

if(rootidx!=s2)

//左子樹不為空

//遞迴還原右子樹

if(rootidx!=e2)

//右子樹不為空

return ret;

//返回根節點指標

}int

main()

二叉樹中序先序轉後序

如圖,此二叉樹 先序遍歷為426315 中序遍歷為623415 求後序遍歷結果 步驟 426315 623415 4為根節點,則中序分為62315 左子樹623的跟為先序6315的2 則6和3為2的左兒子和右兒子。發現一直重複這一過程,則實行遞迴程序 函式解析 prein2post preorder...

二叉樹 先序 中序 後序

同學整理的,順便傳上分享下 一,已知先序和中序 求後序 1 include2 include3 include4 using namespace std 5char s1 10 s2 10 ans 10 6 int o 0 7 void tree int n char s1 char s2 char...

二叉樹已知前序 中序轉後序輸出

後序 左 右 根 中序 左 根 右 前序 根 左 右 前序序列 1,2,3,4,5,6 中序序列 3,2,4,1,6,5 前序序列中的第乙個結點必定是樹的根結點,令這個結點為root,root把這棵樹分為了左右兩棵子樹。i為root所表示的值在中序中的下標,所以i即是分隔中序中對應root結點的左子...