B樹:
B樹是一種平衡的多路搜索樹,每個節(jié)點可以包含多個子節(jié)點。
每個節(jié)點都包含key和對應(yīng)的數(shù)據(jù),葉子節(jié)點包含實際數(shù)據(jù),非葉子節(jié)點只包含key用于索引。
B樹的每個節(jié)點的子節(jié)點個數(shù)范圍在 [m/2, m] 之間,其中m是樹的階(最大子節(jié)點個數(shù))。
B樹的查找性能穩(wěn)定,適用于隨機訪問和范圍查詢。
B+樹:
B+樹是B樹的一種變體,也是一種多路搜索樹,但在葉子節(jié)點之間增加了鏈表連接,葉子節(jié)點形成了一個有序鏈表。
B+樹的非葉子節(jié)點只包含key,數(shù)據(jù)都存儲在葉子節(jié)點中,這樣可以減少非葉子節(jié)點的大小,提高節(jié)點的利用率。
B+樹的每個節(jié)點的子節(jié)點個數(shù)范圍在 [ceil(m/2), m] 之間。
B+樹適合范圍查詢,因為在葉子節(jié)點形成的有序鏈表上可以很方便地進行范圍掃描。