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
- B樹(多路查詢樹)
- 平衡樹索引(b-tree index)索引Index
- 多路查詢樹(2-3 樹、2-3-4 樹、B 樹、B+ 樹)
- 多路查詢樹
- 平衡查詢樹
- 平衡二叉樹,B樹,B+樹二叉樹
- 平衡二叉查詢樹:紅黑樹
- 淺談演算法和資料結構(10):平衡查詢樹之B樹演算法資料結構
- 決策樹相關知識小結
- B樹查詢,磁碟查詢資料
- 查詢|有序表折半查詢判定樹|二叉排序樹|3階B-樹排序
- Java資料結構(十五)—— 多路查詢樹Java資料結構
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- 資料結構:二叉查詢樹的相關操作資料結構
- 關於樹結構的查詢優化,及許可權樹的查詢優化優化
- 演算法知識梳理(10) - 二叉查詢樹演算法
- 知識樹
- 平衡樹
- oracle檢查點的相關知識Oracle
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 關聯查詢時使用樹狀查詢要小心
- oracle 樹查詢Oracle
- 樹形查詢
- 淺談演算法和資料結構(9):平衡查詢樹之紅黑樹演算法資料結構
- 【資料結構第四周】樹知識點整理(下)【平衡二叉樹】資料結構二叉樹
- 平衡樹和二叉樹的區別二叉樹
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 淺談演算法和資料結構(8):平衡查詢樹之2-3樹演算法資料結構
- 從二叉查詢樹到B*樹,一文搞懂搜尋樹的演進!|金三銀四系列
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 一個簡單的樹查詢
- oracle樹形查詢Oracle
- 二叉查詢樹的插入刪除查詢
- 二叉樹的知識點二叉樹
- 二叉樹、B樹以及B+樹二叉樹
- B 樹和 B+樹的區別, 為什麼 MySQL 要使用 B+樹MySql
- 兩個B1相關的SQL,訂單查詢SQL