洛谷P1030c 遞迴求解先序排列

2022-07-26 14:42:13 字數 770 閱讀 7173

p1030 求先序排列 - 洛谷 | 電腦科學教育新生態

輸入 #1複製

badc

bdca

輸出 #1複製

abcd

題目如上,對於這道題,我們可以利用樹的遞迴性質來求解

已知後序序列和中序序列,我們可以逐次找根,輸出根節點的值,再對左右子樹分別來一波,就得到後序遍歷的序列啦

比如樣例資料 中序序列badc 後序序列bdca

後序序列的最後乙個字元'a'就是這段序列裡的根,接著在中序序列中找到'a'

那麼b就是遍歷左子樹的中序序列,dc就是遍歷右子樹的中序序列了

由此我們也得到了左右子樹的結點個數和各自的後序序列,就可以再對倆子樹來一波,就可以了

核心**如下:

void go(string a,string b)//

a是後序遍歷序列,b是中序遍歷序列

if(lenr!=0

)

}}

string part(a,0,lenl)表示複製字串a的a[0]到a[0+lenl-1]到part,也就是從0開始數lenl個

洛谷 1030 先序排列

給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 8 輸入格式 2行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。輸出格式 1行,表示一棵二叉樹的先序。輸入樣例 1 badc bdca 輸出樣例 1 abcd 中序和後序確定前序的規則 後序的最後乙個...

洛谷 P1030 求先序排列

給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度8 8 輸入格式 2行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。輸出格式 1行,表示一棵二叉樹的先序。思路 1.通過後序找根節點 2.通過根節點回中序劃分左右子樹 3.重複1,2 ps 雖然思路蠻清...

洛谷P1030(求先序排列)

給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 8 2行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。1行,表示一棵二叉樹的先序。這是一道二叉樹的題目,當時老師是布置過這個題目的,但是我當時是用遞迴做的,但是我當時年輕,老師問了一句如果資料量100...