B樹(B-tree, 平衡的多路查詢樹)的相關知識
目錄
多路搜尋樹
首先,介紹一下2-3樹,指的是其中每一個節點2結點--有兩個孩子或者3結點--三個孩子或者沒有孩子,2節點指的是該節點有一個元素和兩個孩子OR沒有孩子,3節點指的是該節點有兩個元素(一大一小)和三個孩子OR沒有孩子。
特點是所有葉子節點都在同一層,插入和刪除節點都必須保證順序和性質不變。左子樹小於根節點元素小於中子樹小於右根節點元素小於左子樹。
2-3-4樹和2-3樹差不多。
B樹
B樹的結構是一種平衡的多路查詢樹:節點數最大的孩子數目稱為B樹的階(order);
B樹的屬性:
- 如果根節點不是葉子節點,則至少有兩棵字數;
- 每一個非根的分支節點都有k-1個元素和k個孩子,其中 ,每一個葉子結點都有k個元素,其中
- 所有的葉子節點都位於同一層次
- 分支節點資訊包括(),其中有順序。
B樹的結構就是為內外存的資料交換準備的。
B樹最壞的搜尋情況:第一層有一個節點,第二層有兩個,除去根節點,其餘層每個節點至少有棵子樹,則第三層有2*,若m階有n+1個關鍵字,即,即。
B+樹:
B+樹結構適合帶有範圍的查詢。
B+樹是應檔案系統所需而出的一種B樹的變形樹,在B+ 樹中,出現在分支結點中的元素,會被當作他們在該分支結點位置的中序後繼者(葉子結點)中再次出現。另外,每一個葉子節點都會儲存一個指向後一葉子結點的指標。
B+樹和B樹之間的差異在於:
- 有n棵子樹的結點中包含有n個關鍵字
- 所有的葉子結點包含全部關鍵字資訊,及指向含這些關鍵字記錄的指標,葉子節點本身依關鍵字的大小自小而大順序連線
- 所有分支結點可以看成索引,結點中僅含有其子樹中的最大(最小)關鍵字。
相關文章
- 多路查詢樹:B-tree/b+tree
- 多路查詢樹(2-3 樹、2-3-4 樹、B 樹、B+ 樹)
- 多路查詢樹
- 平衡查詢樹
- 平衡二叉查詢樹:紅黑樹
- 平衡二叉樹,B樹,B+樹二叉樹
- Java資料結構(十五)—— 多路查詢樹Java資料結構
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- 關於樹結構的查詢優化,及許可權樹的查詢優化優化
- 樹的相關術語
- B 樹的簡單認識
- 平衡樹
- B+ 樹的簡單認識
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 平衡樹和二叉樹的區別二叉樹
- 從二叉查詢樹到B*樹,一文搞懂搜尋樹的演進!|金三銀四系列
- 二叉查詢樹的插入刪除查詢
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- oracle樹形查詢Oracle
- 2024年暑假關於線段樹和樹狀陣列的小知識點陣列
- B-tree和B+tree 一種為資料查詢而生的結構
- 二叉樹的知識點二叉樹
- /proc的相關知識
- Redis的相關知識Redis
- B 樹和 B+樹的區別, 為什麼 MySQL 要使用 B+樹MySql
- 資料結構與演算法知識點總結(5)查詢樹資料結構演算法
- 自動平衡二叉樹的構建-AVL樹二叉樹
- 二叉樹、B樹以及B+樹二叉樹
- 文藝平衡樹
- P3380 【模板】二逼平衡樹(樹套樹)
- 二叉查詢樹
- 資料結構與演算法-二叉查詢樹平衡(DSW)資料結構演算法
- 資料結構與演算法-二叉查詢樹平衡(AVL)資料結構演算法
- 樹的定義及相關術語
- 『分享』兩篇講 B-樹 B+ 樹的文章
- 查詢最佳化——查詢樹結構
- 【資料結構】樹的基本知識資料結構