資料結構實驗之二叉樹四 還原二叉樹

2021-08-05 20:10:17 字數 1203 閱讀 3133

time limit: 1000ms

memory limit: 65536kb

submit

statistic

problem description

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。

input

輸入資料有多組,每組資料第一行輸入

1個正整數

n(1 <= n <= 50)

為樹中結點總數,隨後

2行先後給出先序和中序遍歷序列,均是長度為

n的不包含重複英文本母

(區分大小寫

)的字串。

output

輸出乙個整數,即該二叉樹的高度。

example input

9 

abdfghiec

fdhgibeac

example output

5

hint

author

xam求二叉樹深度,高度的三種演算法:

#include using namespace std;

struct btree

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

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

int ans;

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;

};int height(struct btree *root)//遞迴求樹的高度

else

return 0;

}int main()

return 0;

}

資料結構實驗之二叉樹四 還原二叉樹

time limit 1000ms memory limit 65536k 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入資料有多組,每組資料第一行輸入1個正整數n 1 n 50 為樹中結點總數,隨後2行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區分大小...

資料結構實驗之二叉樹四 還原二叉樹

time limit 1000ms memory limit 65536k 有疑問?點這裡 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入資料有多組,每組資料第一行輸入 1個正整數 n 1 n 50 為樹中結點總數,隨後 2行先後給出先序和中序遍歷序列,均是長度為 n的不包...

資料結構實驗之二叉樹四 還原二叉樹

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入資料有多組,每組資料第一行輸入 1個正整數 n 1 n 50 為樹中結點總數,隨後 2行先後給出先序和中序遍歷序列,均是長度為 n的不包含重複英文本母 區分大小寫 的字串。輸出乙個整數,即該二叉樹的高度。9 abdfghiec ...