二叉搜尋樹又稱為:二叉排序樹,其也可以是乙個空樹,或者具有以下性質的樹也可以被稱為二叉搜尋樹:
1.若左子樹不為空,對於任意節點,比其左子樹中任意節點都大。
2.若右子樹不為空,對於任意節點,比其右子樹中任意節點都小。
3.最左側的節點一定是最小的,最右側的節點一定是最大的。
4.當對二叉搜尋樹進行中序遍歷,得出來的是有序序列。
二叉搜尋樹的操作:
具體實現步驟以及**:二叉搜尋樹操作
二叉搜尋樹的使用場景
用來進行查詢的一棵樹
兩種模型:
1.純k模型
例子:檢測某個單詞是否拼寫正確。
用已經有的單詞構造二叉搜尋樹,自己寫乙個樹里的單詞並在裡面進行查詢,若找不到則說明自己寫錯了。(類似於,查字典)。
2.key-value—鍵值對
例子:檔案中包含了多個ip位址,知道每個ip位址出現的次數。
二叉搜尋樹效能
1.最優情況:左右子樹中的節點個數比較均勻(完全二叉樹)----o(logn)
2.最差情況:單支樹—o(n)
如果二叉搜尋樹退化為單支樹,查詢元素相當於在順序表中搜尋元素,效率低下。並且該樹失去平衡。
二叉搜尋樹 二叉搜尋樹
題目 二叉搜尋樹 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...
二叉搜尋樹c 二叉搜尋樹的遍歷
可以總結出三條性質 1 非空左子樹的所有鍵值小於根節點的鍵值。2 非空右子樹的所有鍵值大於根節點的鍵值。3 左右子樹都是二叉搜尋樹。他的遍歷有三種形式 先序遍歷 中序遍歷 後序遍歷。1 先序遍歷 根節點 左子樹 右子樹 首先訪問根節點,然後遍歷左子樹,最後右子樹。並且自遍歷左右子樹時,仍然先訪問根節...
C 二叉搜尋樹
二叉搜尋樹.include using namespace std template type class bstnode templatetype class bsttree return in bsttree vef 1 root null bsttree const bsttree bst b...