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

2021-08-05 20:11:21 字數 1231 閱讀 6754

time limit: 1000ms

memory limit: 65536kb

submit

statistic

problem description

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

input

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

output

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

example input

2

abdegcf

dbgeafc

xnliu

lnixu

example output

dgebfca

abcdefg

linux

xnuli

hint

author

ma6174

#include using namespace std;

struct btree

;char pre[10010];//前序序列

char mid[10010];//中序序列

struct btree* creat(int len, char *pre, char *mid)//二叉樹的重建

root = new btree;

root -> data = pre[0];//找到根節點(前序遍歷的第一位)

for(i = 0; i < len; i++)//在中序序列中找到根節點的位置

root -> lc = creat(i, pre + 1, mid);//遞迴遍歷(左子樹的長度,左子樹在pre中開始位置的位址,左子樹在mid中開始位置的位址)

root -> rc = creat(len-i-1, pre+i+1, mid+i+1);//(右子樹的長度,右子樹在pre中開始位置的位址,右子樹在mid中開始位置的位址)

return root;

};void lrd(struct btree *root)//後序遍歷

}void cengxu(struct btree * root)//以層序遍歷的方式,尋找葉子節點

}int main()

}return 0;

}

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

已知一棵二叉樹的前序遍歷和中序遍歷,求二叉樹的後序遍歷。輸入資料有多組,第一行是乙個整數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...