二叉搜尋樹(模板)

2021-09-25 22:02:26 字數 916 閱讀 8326

題意:先給一組資料構建一顆二叉搜尋樹作為標準樹。緊跟著n組資料中,判斷每組 資料構成的二叉搜尋樹是否和標準樹yi一樣。 思路:兩棵樹如果一樣的話,就是擁有一樣的節點,在每個節點上具有相同的值,且 在相同遍歷條件下,遍歷的順序是一樣的。因此我們可以在遍歷二叉樹的時候,每向 下移動乙個節點時,判斷是否與此時的標準樹一致。

判斷兩序列是否為同一二叉搜尋樹序列

input

開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。 

接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。 

接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。

output

如果序列相同則輸出yes,否則輸出no 

sample input

2

567432

543267

576342

0

sample output

yes

no

#include#includestruct node

;bool flag;

node *insert(node *p,int x) //依次插入每個值

else //不為空,代表此節點有值

}void check(node *root,node *rom) //傳入標準樹和判斷樹的位址

else if(root!=null||rom!=null) //如果兩顆樹中,只有一棵樹在這個節點有值,那麼這兩棵樹肯定不一致

flag=false;

}int main()

}return 0;

}

模板 二叉搜尋樹

二叉搜尋樹 對於二叉樹中的任意節點,左子樹中所有的值都小於當前位置的值,右子樹中所有的值都大於當前位置的值。操作 1.插入乙個數值。2.查詢是否包含某個數值。3.刪除某個數值。插入和查詢是差不多的,都是比當前值 要找的值 大就往左走,否則就往右走,直到找到為止。最複雜的操作是刪除某個節點,不過可以分...

模板 二叉搜尋樹

二叉搜尋樹 對於二叉樹中的任意節點,左子樹中所有的值都小於當前位置的值,右子樹中所有的值都大於當前位置的值。操作 1.插入乙個數值。2.查詢是否包含某個數值。3.刪除某個數值。插入和查詢是差不多的,都是比當前值 要找的值 大就往左走,否則就往右走,直到找到為止。最複雜的操作是刪除某個節點,不過可以分...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...