D 二叉樹遍歷,推薦

2022-08-01 09:03:11 字數 699 閱讀 3811

題意:多組案例,每組案例給定二叉樹的先序遍歷和中序遍歷,輸出後序遍歷(每組案例不超過26個字元)

案例:sample input

dbacegf abcdefg

bcad cbad

sample ouput

acbfged

cdab

分析:先序遍歷的第乙個字元就是根,因此在中序遍歷中找到它,即可知左右子樹的先序遍歷和中序遍歷。

先執行遞迴遍歷構造二叉樹,再找出後序遍歷即可。

源**:

1 #include 2 #include 3

char preorder[30];//前序4

char inorder[30];//中序5

char postorder[30];//後序6

void build(int n, int pre, int

in, int

rec)

715 postorder[n-1+rec] = preorder[pre];//

記錄16 build(i, pre+1, in, rec);//

左子樹17 build(n-i-1, pre+i+1, in+i+1, rec+i);//

右子樹 18}

19int

main()

2029

return0;

30 }

問題 D 二叉樹遍歷

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...

問題 D 二叉樹遍歷

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...

問題 D 二叉樹遍歷

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...