模板 判斷二叉查詢樹

2022-04-08 05:17:12 字數 690 閱讀 2582

二叉查詢樹其實!

就是平衡樹啦

(二叉查詢樹) 二叉查詢樹具有如下性質: 每個節點的值都大於其左子樹上所有節點的 值、小於其右子樹上所有節點的值。試判斷一棵樹是否為二叉查詢樹。

輸入的第一行包含乙個整數 n,表示這棵樹有 n 個頂點, 編號分別為 1, 2, ⋯ , n,其 中編號為 1 的為根結點。之後的第 i 行有三個數 value, left_child , right_child ,分別表示該節點關鍵字的值、左子節點的編號、右子節點的編號;如果不存在左子節點或右子節點,則用 0 代替。輸出 1 表示這棵樹是二叉查詢樹,輸出0 則表示不是。

const int n=1e6+10;

int n,m;

struct nodea[n];

inline bool is_bst(int root,int l_bound,int u_bound)

int main()

cout

}//嚴格小於/大於 /*5

6 4 5

5 0 0

3 0 0

4 3 2

7 0 0

*///1

//可以等於/*5

6 4 5

5 0 0

3 0 0

5 3 2

7 0 0

*///1

模板 二叉查詢樹

果然這些資料結構還是要自己寫一遍才熟悉啊。這次也是加深了我對指標的認識,以前都不怎麼注意的 二叉查詢樹,每乙個節點有左右兒子,然後這個節點的值大於左兒子,小於右兒子,那麼根據定義不難得出 先配個圖以便於理解 網上也有不少 二叉查詢樹一共有三種操作 查詢,刪除,插入 結點結構體 struct node...

二叉樹 二叉查詢樹

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

二叉樹 二叉查詢樹

二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...