9 4 二叉查詢樹

2022-07-02 11:24:09 字數 1151 閱讀 8293

唯一的坑在於「輸入中可能有重複元素,但是輸出的二叉樹遍歷序列中重複元素不用輸出。」

題目中沒說。

中序遍歷+前序遍歷/後序遍歷才能唯一的確定一棵二叉樹

對 二叉排序樹 而言,相同元素的二叉排序樹中序遍歷一定相同,而不同元素二叉排序樹使用前序遍歷就可以發現不相同,所以只需要前序遍歷兩個二叉樹,比較一下就可以判斷

❗️「答案錯誤50」,看了半天不知道**錯了。看了網上的**,覺得寫得沒差別_(:з」∠)_

#include #include #include #include using namespace std;

struct node ;

void insert(node *&root, int x)

if (x <= root->data) else

}node *create(string data)

return root;

}//先序遍歷

void preorder(node *root, string &s)

//中序遍歷

void inorder(node *root, string &s)

int main()

}return 0;

}

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

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

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

search函式查詢二叉查詢樹中資料域為x的結點 插入乙個資料域為x的新結點 注意引數root要加引用 void insert node root,int x if x root data return 結點已經存在 不需要插入 二叉查詢樹元素一定不會重複 else if xdata insert ...

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...