二叉查詢樹

2021-07-14 16:27:14 字數 1130 閱讀 7364

二叉樹的乙個重要應用是它們在查詢中的應用。為了更方便的闡述二叉查詢樹的概念,我們這裡考慮關鍵字為互異整數的情形。

使二叉樹成為二叉查詢樹的性質是,對樹中的每個節點n,它的左子樹的所有關鍵字小於n的關鍵字值,而又子樹的所有關鍵字大於n的關鍵字值。後面我們可以看到,這種方式可以保證元素用統一的方式排序。

1. 二叉樹節點宣告

struct treenode

;typedef struct treenode *ptrnode;

2. 樹的初始化

ptrnode makeempty(ptrnode node)

return nullptr;

}

3. 插入操作

ptrnode insert(int x, ptrnode& node)

else if (x < node->element)

else if (x > node->element)

return node;

}

4. 查詢操作

ptrnode find(int x, ptrnode node)

else if (x < node->element)

else if (x > node->element)

// find element

else

}

5. 查詢最小值

ptrnode findmin(ptrnode node)

6. 刪除操作

ptrnode delete(int x, ptrnode node)

else if (x > node->element)

// two or more node

else if (node->left && node->right)

else

else if (node->right == nullptr)

delete temp;

} return 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 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...

樹(樹,二叉樹,二叉查詢樹)

1.定義 n n 0 個結點構成的有限集合。當n 0時,稱為空樹 2.對於任一棵非空樹 n 0 它具備以下性質 1 樹中有乙個稱為 根 root 的特殊結點,用 r 表示 2 其餘結點可分為m m 0 個互不相交的有限集t1,t2,其中每個集合本身又是一棵樹,稱為原來樹的子樹。3.樹的一些性質 1 ...