如圖,此二叉樹
先序遍歷為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...