5-9 還原二叉樹 (25分)
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。
輸入首先給出正整數n(\le
≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。
輸出為乙個整數,即該二叉樹的高度。
9
abdfghiec
fdhgibeac
5
不建樹:
#include #include using namespace std;
int getheight(string pro, string in)
if(i < len - 1)
return 1 + max(leftheight, rightheight);
}int main()
時間限制
400 ms
記憶體限制
65536 kb
**長度限制
8000 b
判題程式
standard
作者
陳越
給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。
輸入格式:
輸入第一行給出乙個正整數n(<=30),是二叉樹中結點的個數。第二行給出其後序遍歷序列。第三行給出其中序遍歷序列。數字間以空格分隔。
輸出格式:
在一行中輸出該樹的層序遍歷的序列。數字間以1個空格分隔,行首尾不得有多餘空格。
輸入樣例:
7輸出樣例:2 3 1 5 7 6 4
1 2 3 4 5 6 7
4 1 6 3 5 7 2
建樹
#include #include #include #include #include using namespace std;
struct node ;
node * getpre(int *pos, int *in, int n)
int main()
for(i = 0; i < n; i++)
node * rt = getpre(pos, in, n);
queueq;
q.push(rt);
while(!q.empty())
return 0;
}
資料結構課設(二叉樹操作)
一 設計內容和要求 1 實現二叉樹的2種構造方法 輸入擴充套件二叉樹的前序遍歷序列構造二叉樹和已知二叉樹的前序 中序序列,構造此二叉樹 2 對二叉樹進行前序 中序 後序和層次遍歷 4 求二叉樹結點數 葉子結點和高度 5 將二叉樹所有結點的左右子樹交換。二 標頭檔案erchashu.h include...
資料結構實驗之二叉樹四 還原二叉樹
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的不包...