template<
class
k,size_t m
=1024
>
struct btreenode
;template<
class
k,size_t m
=2014
>
class
btree
//樹不為空的插入:往葉子結點中插入
node* parent = nullptr;
node* cur = _root;
while
(cur)
else
if(cur-
>_key[i]
> k)
else
} parent = cur;
cur = cur-
>_sub[i];}
//cur走到空了,parent指向了要插入結點的父親
node* node = parent;
k key = k;
node* sub = nullptr;
//node key sub
while(1
)//滿了,**:找到原中位數,後半段拷貝過去
node* splite_node;
size_t mid =m/
2;//[0,mid-1] mid [mid+1,m-1]
size_t j =0;
for(size_t i = mid -
1;i ++i)
node-
>_keysize -= splite_node-
>_keysize;
node-
>_keysize--
;//mid要提到父親節點中去
if(node == _root)
else}}
private
: node* _root;
};
字典樹的簡單實現
trie樹,又稱為字典樹,是一種樹形結構,是一種雜湊樹的變種,是一種用於快速檢索的多叉樹資料結構。用於儲存大量的字串。它的優點是 利用字串的公共字首來節約儲存空間。trie的核心思想是空間換時間。利用字串的公共字首來降低查詢時間的開銷以達到提高效率的目的。它有3個基本性質 1 根節點不包含字元,除根...
左偏樹的簡單實現
左偏樹,顧名思義,就是向左傾斜的樹 這棵破樹就是用來實現可並堆的,也就是說,是比堆多出了乙個合併的操作 左偏樹的定義是 左邊的節點個數大於右邊的節點個數 這就使其可以資瓷合併的操作 比二叉堆的o size1 size2 快多了 這是o logsize1 size2 三個性質 中要維護的三個性質 還是...
字首樹的簡單實現
1.字首樹 字首樹又稱為單詞查詢樹,是一種樹形的結構,用於儲存大量的字串,它的優點是 利用字串的公共字首來節約儲存空間 trie樹主要是利用詞的公共字首縮小查詞範圍 通過狀態間的對映關係避免了字元的遍歷,從而達到高效檢索的目的 2.可以先宣告乙個節點trienode,節點包括以下幾個屬性 trien...