PAT L2 006 樹的遍歷 廣搜

2021-08-15 23:31:00 字數 945 閱讀 4555

題目鏈結

題目意思

給定一棵二叉樹的後序遍歷和中序遍歷,讓我們輸出層次遍歷結果。

解題思路

我們先根據二叉樹的後序遍歷和中序遍歷構建這棵二叉樹,然後再用廣搜來搜尋輸出層次遍歷的結果。

**部分

#include 

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=3005;

int tree[maxn];

void build(int root,vector

a,vector

b)}

vector

ar,al,br,bl;

for(int i=0; i///後序遍歷的左子樹

for(int i=p; i1; i++)///後序遍歷的右子樹

for(int i=0; i///中序遍歷的左子樹

for(int i=p+1; i///中序遍歷的右子樹

tree[root]=b[p];///建立根節點

build(root<<1,al,bl);///建立左子樹

build(root<<1|1,ar,br);///建立右子樹

}int bfs()

cout

for(int i=0; iscanf("%d",&x);

b.push_back(x);

}build(1,a,b);

bfs();

}return

0;}

PAT L2 006 樹的遍歷

給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。輸入樣例 72 3 1 5 7 6 4 1 2 3 4 5 6 7 輸出樣例 4 1 6 3 5 7 2 include include include includeusing namespace st...

PAT L2 006 樹的遍歷

題目 給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。輸入格式 輸入第一行給出乙個正整數n 30 是二叉樹中結點的個數。第二行給出其後序遍歷序列。第三行給出其中序遍歷序列。數字間以空格分隔。輸出格式 在一行中輸出該樹的層序遍歷的序列。數字間以1個空格分...

pat L2 006樹的遍歷

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。輸入格式 輸入第一行給出乙個正整數n 30 是二叉樹中結點的個數。第二行給出其後序遍歷序...