在這裡做個小總結吧:
對於樹的三種遍歷
如果給定前序遍歷和後序遍歷,中序遍歷不一定是確定的;
但是給定中序與後序排列,是可以確定前序的;
並且給定前序和中序也是可以確定後序的。
這道題就討論第二種情況:
重點就是先找到根,然後在遞迴就可以了~
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define modulo 100
const
int maxn =30;
using
namespace std;
char a[maxn]
, b[maxn]
;//a為中序,b為後序
void
build
(int l1,
int r1,
int l2,
int r2)}}
intmain()
洛谷 P1030 求先序排列
給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度8 8 輸入格式 2行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。輸出格式 1行,表示一棵二叉樹的先序。思路 1.通過後序找根節點 2.通過根節點回中序劃分左右子樹 3.重複1,2 ps 雖然思路蠻清...
洛谷P1030(求先序排列)
給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 8 2行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。1行,表示一棵二叉樹的先序。這是一道二叉樹的題目,當時老師是布置過這個題目的,但是我當時是用遞迴做的,但是我當時年輕,老師問了一句如果資料量100...
洛谷 p1030 求先序排列
這個題做了快半上午 實際上只是一道普及 因為我太蒻了 我不太理解遞迴啊,我實在太蒻了,於是就開始做了這道題 一開始陣列越界,蜜汁re 吐槽結束 思路大家應該都明白吧 找後序遍歷的最後乙個,去中序遍歷找到,然後左右二分,就這麼簡單 includeusing namespace std string a...