中序序列
int hou[maxn];//
後序序列
struct
node
;int
n,m;
node* create(int houl,int hour,int inl,int
inr)
int numleft = i - inl;//
看左邊是否還有節點
//注意這裡沒有對numleft的數目進行判斷!!
root->lchild = create(houl,houl+numleft-1,inl,i-1
); root->rchild = create(houl+numleft,hour-1,i+1
,inr);
return
root;}//
inorder
void inorder(node* root)//
以中序序列輸出
void preorder(node* root)//
以先序序列輸出
void houorder(node* root)//
後序序列輸出
intmain()//8
//7 2 3 4 6 5 1 8 中序
//2 7 4 6 3 1 8 5 後序
//5 3 7 2 6 4 8 1 先序
由中序序列和後序序列得到先序序列
寫的有點繁瑣,這次來個簡潔點的。思路都是一樣的 給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 le 8 8 22行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。11行,表示一棵二叉樹的先序。輸入 1複製 badc bdca輸出 1複製 abcd直...
由中序和後序(前序)序列求前序(後序)序列
已知二叉樹的中序和後序 前序 序列可以唯一確定一顆二叉樹,例如,中序序列 1 2 3 4 5 6 後序序列 3 4 2 6 5 1 可以唯一確定一顆二叉樹,如下圖 思路是這樣的 我們知道對於一顆二叉樹,根節點是後序遍歷序列的最後乙個,找到根節點後,我們由中序遍歷的特點知道,中序序列中,根節點 左邊的...
如何根據層序序列和中序序列建立一棵樹
參考該部落格 最近複習了樹方面的資料結構知識,在做題的過程中,我發現都是給先序 或者後序 與中序讓求一棵樹,沒有碰到過給你層序和中序讓求樹的情況,故在此做乙個整理以便於今後回顧複習。附有注釋的 include using namespace std const int maxn 110 int le...