洛谷P1030求先序排列

2021-10-09 18:45:19 字數 658 閱讀 3726

在這裡做個小總結吧:

對於樹的三種遍歷

如果給定前序遍歷和後序遍歷,中序遍歷不一定是確定的;

但是給定中序與後序排列,是可以確定前序的;

並且給定前序和中序也是可以確定後序的。

這道題就討論第二種情況:

重點就是先找到根,然後在遞迴就可以了~

#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...