資料結構實驗之求二叉樹後序遍歷和層次遍歷

2021-08-02 09:44:14 字數 1212 閱讀 5689

time limit: 1000ms

memory limit: 65536kb

submit

statistic

discuss

problem description

已知一棵二叉樹的前序遍歷和中序遍歷,求二叉樹的後序遍歷和層序遍歷。

input

輸入資料有多組,第一行是乙個整數t (t<1000),代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的先序遍歷序列,第二個字串表示二叉樹的中序遍歷序列。

output

每組第一行輸出二叉樹的後序遍歷序列,第二行輸出二叉樹的層次遍歷序列。

example input

2

abdegcf

dbgeafc

xnliu

lnixu

example output

dgebfca

abcdefg

linux

xnuli

hint

注釋寫的很清楚,準備開始慢慢啃資料結構

#include using namespace std;

string a,b;

struct node

;node* create(int l1,int r1,int l2,int r2)

}int numleft=record-l2;//通過中序遍歷確定左樹的數目

root->lchild=create(l1+1,l1+numleft,l2,record-1);//先序遍歷只是負責提供根節點的,中序遍歷負責區分左右樹,然後把中序遍歷確定的區間範圍加到先序遍歷上,完成dfs建樹。

root->rchild=create(l1+numleft+1,r1,record+1,r2);

return root;

}void houxu(node* root)

void bfs(node* root)

}int main()

{ int n;

cin>>n;

getchar();

while(n--)

{getline(cin,a);

getline(cin,b);

node* root=create(0,a.length()-1,0,b.length()-1);

houxu(root);

cout<

資料結構實驗之求二叉樹後序遍歷和層次遍歷

已知一棵二叉樹的前序遍歷和中序遍歷,求二叉樹的後序遍歷。輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的先序遍歷序列,第二個字串表示二叉樹的中序遍歷序列。每組第一行輸出二叉樹的後序遍歷序列,第二行輸出二叉樹的層次遍歷序列 ...

資料結構實驗之求二叉樹後序遍歷和層次遍歷

time limit 1000ms memory limit 65536k 已知一棵二叉樹的前序遍歷和中序遍歷,求二叉樹的後序遍歷。輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的先序遍歷序列,第二個字串表示二叉樹的中序遍...

資料結構實驗之求二叉樹後序遍歷和層次遍歷

資料結構實驗之求二叉樹後序遍歷和層次遍歷 time limit 1000ms memory limit 65536k 有疑問?點這裡 題目描述 已知一棵二叉樹的前序遍歷和中序遍歷,求二叉樹的後序遍歷。輸入 輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50...