二分搜尋樹當做查詢表的一種實現。我們使用二分搜尋樹的目的是通過查詢 key 馬上得到 value。
二分搜尋樹還能回答哪些問題呢?這些問題都和順序相關。
minimum,maximum
successor,predecessor(這兩個元素在二分搜尋樹的 key 中必須存在)
floor(地板),ceil(天花板)(這兩個元素在二分搜尋樹的 key 中可以存在,也可以不存在)
rank(58 是排名第幾的元素)、select(排名第10的元素是誰)
在有些情況下,我們須要支援重複元素的二分搜尋樹。
二分搜尋樹
1.二分搜尋樹 binary search tree 性質 a.二分搜尋樹是二叉樹 b.二分搜尋樹的每乙個節點的值 大於其左子樹的所有節點的值 小於其右子樹的所有節點的值 c.每一顆子樹也是二分搜尋樹 e.儲存的元素必須具有可比較性 二分搜尋樹的乙個缺點 2.二分搜尋樹的操作 a.二分搜尋樹新增新元...
二分搜尋樹
include include include include include using namespace std templateclass bst bst int size bool isempty 插入結點 void insert key key,value value 是否包含該鍵值的結...
二分搜尋樹
template class bst node root intcount public bst bst intsize bool isempty 插入新的節點 public void insert key key,value value private 向以node為根的二叉搜尋樹中,插入節點 k...