b+樹的簡單介紹
總結b樹是一種平衡多叉樹,。一棵m(m>2)的b樹,是一棵平衡的m路平衡搜尋樹,可以是空樹,或者滿足以下性質:
插入過程總結:
如果樹為空,直接插入新節點,該節點為樹的根節點
樹非空,找待插入元素在樹中插入位置(注意:找到插入節點位置一定在葉子節點中)
檢測是否找到插入位置(假設樹中的key唯一,即該元素已經存在時則不插入)
按照插入排序的思想將該元素插入到找到的節點中
檢測該節點是否滿足b樹的性質:即該節點中的元素個數是否等於m,如果小於則滿足
如果插入後節點不滿足b樹的性質,需要對節點進行**
如果向上已經**到根節點的位置,插入結束。
b+樹是b樹的變形,也是一種多路搜尋樹
其定義基本與b樹的不同之處:
非葉子節點的子樹指標與關鍵字個數相同
非葉子節點的字數指標 p[i],指向關鍵字值屬於 [k[i], k[i+1])的子樹
為所有葉子節點增加乙個鏈指標
所有關鍵字都在葉子節點出現
具體結構如下:
b+樹與b樹基本相同,區別是b+樹只有達到葉子節點才可以命中(b樹可以在非葉子節點命中),其效能也等價與在關鍵字全集中做一次二分查詢
b樹:
b+樹:
B樹B 樹B 樹和B 樹
原文link b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點...
B 樹 B 樹 B 樹和B 樹
b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left 和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就...
b樹和b 樹簡單描述
資料庫的b樹和b 樹,b樹的非葉子節點儲存資料,而乙個葉子節點對應的是檔案系統的乙個資料單元,也是磁碟上的一頁512,當既儲存資料,又儲存索引key值時 乙個節點的大小有限,既有資料又有key值,當樹的深度比較深時,必然會需要多次io才能找到key值 必然導致,查詢底層資料會經歷更多次的io,同時乙...