【數據結構】圖解B樹、B+樹

目錄

1.B樹

1.2 性質

1.3 圖示 最簡單3階B樹

1.4 操作

1.5 應用

2.B+樹

2.1 性質

2.2 圖示

2.3 應用


1.B樹

1.2 性質

  • B樹的階m:孩子節點個數(叉)的最大值
  • 1.分支數(子樹)
    • 根節點最少可以有兩個分支[2,m]
    • 非根非葉子的分支個數爲 [ ceil(m/2),m]
  • 2.key數
    • 節點上key數量是(分叉數-1)
    • 葉最多m-1個
  • 3.key有序,搜索樹
    • 節點內有序,
    • 節點間 大於左子,小於右子

1.3 圖示 最簡單3階B樹

1.4 操作

  • 插入
    • 不滿直接放入節點
    • 滿了節點->分裂
    • 父節點叉數大於m->向上生長

1.5 應用

  • mongodb索引 所有節點都攜帶對應id對應數據行

2.B+樹

2.1 性質

  • 所有數據均存儲在葉子節點,其餘節點僅存儲key值
    • 節點間key關係不再是<、> 而是 <=、>=
  • 葉子包含所有key,葉子成一個鏈

2.2 圖示

2.3 應用

 

  • 用在磁盤文件組織數據索引和數據庫索引
  • Mysql索引
  • B+ 樹,只有葉節點才攜帶數據

    爲了使內節點在一個頁內多存儲key,使得樹的m階更大,這樣樹高就更低,由於外部存儲每個節點需要磁盤尋址,每找到尋址一個節點就耗費

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章