hdoj 3791 二叉搜尋樹

2021-06-04 07:22:04 字數 911 閱讀 8244

型別:二叉搜尋樹

題目:給定乙個序列,構造乙個二叉搜尋樹,然後對給定的其他序列和第乙個序列相比,判斷兩個序列是否能組成同一顆二叉搜尋樹

按照第乙個序列先構造一棵二叉搜尋樹,然後對其他序列,同樣構造一棵二叉搜尋樹,如果兩棵樹相同,則其先序和後序序列相同,可以根據兩棵樹的先序和後序序列判斷結果

// hdoj 3791 二叉搜尋樹

// tle wa wa wa ac

#include #include #include using namespace std;

#define for(i,a,b) for(i = (a); i < (b); ++i)

#define fore(i,a,b) for(i = (a); i <= (b); ++i)

const int maxn = 20;

struct node ;

node *t1, *t2;

int len, n;

char first[maxn], last[maxn], first1[maxn], last1[maxn];

string s0, s1;

void xianxu(node *t)

void houxu(node *t)

void insertbst(node* &t, char key)

if(key < t->key)

insertbst(t->lchild, key);

else

insertbst(t->rchild, key);

}void solve()

}}int main()/*1

112123

123123

5123

321132

213312

123*/

hdu3791二叉搜尋樹

hdu3791二叉搜尋樹 又是二叉搜尋樹的前序遍歷。1.建樹會順序影響整棵樹的形狀 2.記得釋放資源 3.可以用雙重指標和引用優化程式。某些printf 是之前設定的斷點,可以無視之 includeusing namespace std struct bst root bst insert bst ...

hdu 3791 二叉搜尋樹

problem description 判斷兩序列是否為同一二叉搜尋樹序列 input 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。接下去的n行有n個序列,每...

HDU 3791 二叉搜尋樹

problem description 判斷兩序列是否為同一二叉搜尋樹序列 input 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。接下去的n行有n個序列,每...