1. 程式人生 > >磁碟和記憶體選擇B樹和紅黑樹的原因

磁碟和記憶體選擇B樹和紅黑樹的原因

B+樹的高度要比紅黑樹小,有效減少了磁碟的隨機訪問
B+樹的資料節點相互臨近,能夠發揮磁碟順序讀取的優勢(快取)
B+樹的資料全部存於葉子結點,而其他節點產生的浪費在經濟負擔上能夠接收,紅黑樹儲存浪費小

紅黑樹常用於儲存記憶體中的有序資料,增刪很快,b+樹常用於檔案系統和資料庫索引,因為b樹的子節點大於紅黑樹,紅黑樹只能有2個子節點,b樹子節點大於2,子節點樹多這一特點保證了儲存相同大小的資料,樹的高度更小,資料區域性更加緊湊,而硬碟讀取有區域性載入的優化(把要讀取資料和周圍的資料一起預先讀取),b樹相鄰資料物理上更加緊湊這一特點符合硬碟進行io優化的特性。b+樹在b樹基礎上進一步將資料只存在葉子節點,非葉子節點不存值只儲存值的指向,這使得單個節點能有更多子節點,除此之外將所有葉子節點(值存在葉子節點)放入連結串列中,使得資料更加緊湊有序,只需要連結串列(葉子節點)的一次遍歷就能獲取所有樹上的值。b+樹這些特性適合用於資料庫的索引,mysql底層資料結構就是b+樹。

https://blog.csdn.net/qq_17612199/article/details/52193776

https://www.cnblogs.com/snailmanlilin/p/8036514.html