二叉樹中序先序轉後序

2021-09-29 09:47:51 字數 868 閱讀 2361

如圖,此二叉樹

先序遍歷為426315

中序遍歷為623415

求後序遍歷結果

步驟

426315

623415

4為根節點,則中序分為62315

左子樹623的跟為先序6315的2

則6和3為2的左兒子和右兒子。。。

發現一直重複這一過程,則實行遞迴程序

函式解析

prein2post(preorder.substr(1, i), inorder.substr(0, i));

i為根節點

則先序從第2個元素開始長度為i的字串

和中序第第乙個元素開始長度為i字串

繼續遞迴此操作

二叉樹 先序 中序 後序

同學整理的,順便傳上分享下 一,已知先序和中序 求後序 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...

先序中序轉二叉樹

在紙上計算一下他們轉的過程就很容易發現規律 寫程式更簡單,只需要計算出每個子樹的起始位置 計算的時候使用靜態鍊錶更為方便 include include include include include using namespace std struct node vector int in,pre...

中序後序,中序先序求二叉樹

用後序,中序求二叉樹 includeusing namespace std int n int a 105 b 105 mapl,r int build int la,int ra,int lb,int rb 再在中序中找到這個數的位置 if i rb return root queueq void...