還原二叉樹(25 分) 已知前序和中序)

2022-07-01 16:21:11 字數 1457 閱讀 3450

還原二叉樹(25 分)

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

輸入首先給出正整數n(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。

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

9

abdfghiec

fdhgibeac

5

#include#include

using

namespace

std;

struct

tree

;char a[105

];char b[105

];struct tree*creat(int q,int z, int

n)

else

return

t;

} int getheight(tree*t)

else

return0;

}int

main()

for(int i=0;i)

t=creat(0,0

,n);

int p=getheight(t);

cout

return0;

}

還原二叉樹(25 分)

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

輸入首先給出正整數n(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。

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

9

abdfghiec

fdhgibeac

5

#include#include

using

namespace

std;

struct

tree

;char a[105

];char b[105

];struct tree*creat(int q,int z, int

n)

else

return

t;

} int getheight(tree*t)

else

return0;

}int

main()

for(int i=0;i)

t=creat(0,0

,n);

int p=getheight(t);

cout

return0;

}

還原二叉樹(25 分) 已知前序和中序)

還原二叉樹 25 分 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac...

已知前序 中序 求二叉樹

題目如下 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。分析 二叉樹的前序遍歷順序是 先訪問根節點,然後前序遍歷左子樹,再前序遍歷右子樹。中序遍歷順序是 中序遍歷根節點的左子樹,...

前序中序和中序後序還原二叉樹

前序中序還原二叉樹 struct node creat int len,char str1,char str2 由先序序列和中序序列建立二叉樹 root lchild creat i,str1 1,str2 建立左子樹 root rchild creat len i 1,str1 i 1,str2 ...