C B樹的簡單實現

2021-09-26 09:12:53 字數 987 閱讀 1038

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...