《演算法筆記》9 4小節 問題 B 二叉搜尋樹

2022-03-19 08:11:43 字數 700 閱讀 6178

這道題也當做二叉搜尋樹的建樹模板。

這道題其實直接把這顆樹建出來後,比較前序序列和中序序列即可,這裡我用的陣列實現,更好寫和查錯qwq。

code:

#include using namespace std;

int n , len;

string a , b , c;

char tree[400040] , pd[400040] , st[400040];

void t_insert(int i , char x)

if(tree[i] > x) t_insert(2 * i , x); //小左大右

else t_insert(2 * i + 1 , x);

}void p_insert(int i , char x)

if(pd[i] > x) p_insert(2 * i , x);

else p_insert(2 * i + 1 , x);

}void t_print(int i , int f)

void p_print(int i , int f)

int main()

c = "";

p_print(1 , 1);

if(b != c)

cout << "yes" << endl;

} }return 0;

}

演算法筆記 問題 B 二叉搜尋樹

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

《演算法筆記》9 4 二叉查詢樹

一.定義 1.二叉查詢樹可以是一棵空樹 2.左子樹所有結點的資料域均小於等於根結點,右子樹所有結點的資料域均大於等於根結點 二.基本操作 1.查詢操作 void search node root,int x if x root data printf d n root id else if x ro...

問題 B 二叉搜尋樹

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