1. 程式人生 > >邢啦 為軟體事業盡一份力

邢啦 為軟體事業盡一份力

 B 樹又叫平衡多路查詢樹,俗稱b-樹,或者b樹。

樹中每個結點最多含有m個孩子(m>=2);因為每個節點最多有m-1個關鍵字而已

2.除根結點和葉子結點外,其它每個結點至少有[ceil(m / 2)]個孩子(其中ceil(x)是一個取上限的函式);因為每個節點最少有cell(m/2)-1個關鍵字而已

3.若根結點不是葉子結點,則至少有2個孩子(特殊情況:沒有孩子的根結點,即根結點為葉子結點,整棵樹只有一個根節點);因為插入的分裂特性還是一分唯二。

4.所有葉子結點都出現在同一層,葉子結點不包含任何關鍵字資訊(可以看做是外部接點或查詢失敗的接點,實際上這些結點不存在,指向這些結點的指標都為null);(讀者反饋@冷嶽:這裡有錯,葉子節點只是沒有孩子和指向孩子的指標,這些節點也存在,也有元素。@研究者July:其實,關鍵是把什麼當做葉子結點,因為如紅黑樹中,每一個NULL指標即當做葉子結點,只是沒畫出來而已)。因為刪除時合併的特性,所以b-樹的葉子節點都在同一層。

5.每個非終端結點中包含有n個關鍵字資訊: (n,P0,K1,P1,K2,P2,......,Kn,Pn)。其中:        a)   Ki (i=1...n)為關鍵字,且關鍵字按順序升序排序K(i-1)< Ki。          b)   Pi為指向子樹根的接點,且指標P(i-1)指向子樹種所有結點的關鍵字均小於Ki,但都大於K(i-1)。          c)   關鍵字的個數n必須滿足: [ceil(m / 2)-1]<= n <= m-1。如下圖所示:總結繞死人:k表示關鍵字,p表示指向子樹根結點的指標。k左邊的關鍵字小於右邊的。同時因為分裂的特性,節點中的關鍵字滿足公式ceil(m / 2)-1]<= n <= m-1