Codeup二叉查詢樹 二叉搜尋樹

2021-09-26 07:47:47 字數 953 閱讀 1751

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

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

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

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

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

6

45021

12045

54120

45021

45012

21054

50412

0

no

noyes

nono

no

#includeusing namespace std;

const int maxn=10;

struct node;

vectororigipre,nowpre,origiin,nowin;

int n;

char tree[maxn];

void insert(node* &root,int data)

if(data==root->data) return;

else if(datadata) insert (root->left,data);

else insert(root->right,data);

}node* create(char data,int n)

void inorder(node* root,vector&v)

void postorder(node* root,vector&v)

int main()

origipre.clear();

origiin.clear();

} return 0;

}

Codeup二叉查詢樹 二叉排序樹

輸入一系列整數,建立二叉排序數,並進行前序,中序,後序遍歷。輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序 中序和後序遍歷。每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。12 2 ...

二叉排序樹 二叉搜尋樹 二叉查詢樹

特點 結構體定義struct node 建樹 建二叉排序樹 void create node root,int t else if t root data create root lc,t else create root rc,t 前序遍歷 層序 字典序 int flag int pre 1001...

二叉搜尋樹(二叉排列樹或二叉查詢樹)

1 二叉排序樹性質 1 就是若它的左子樹不空,則左子樹上所有節點的值均小於它的根節點的值 2 若它的右子樹不空,則右子樹上所有節點的值均大於其根節點的值。3 換句話說就是 任何節點的鍵值一定大於其左子樹中的每乙個節點的鍵值,並小於其右子樹中的每乙個節點的鍵值。2 二叉排序樹查詢 要在二叉樹中找出查詢...