b tree b tree 2 3 4樹個人總結

2021-07-27 23:32:15 字數 567 閱讀 2866

是時候了解了解演算法了:

b-tree、b+-tree:

1.b-tree非葉子節點包含關鍵字資訊,b+-tree不包含關鍵字資訊,僅儲存關鍵字範圍,所以b+-tree的樹高度可能相對更低,能減少磁碟io;

2.b+-tree所有的資訊存在葉子節點中

3.m階的b+-tree的孩子個數為ceil(2/m)-1<=n<=m,而b-tree個數上限為m-1,所以每個b+-tree的節點孩子數比b-tree多(待確認);

4.mysql等儲存系統使用帶順序指標的b+-tree,所以在順序讀取時,能夠方便地讀取到範圍值,這樣讀取更快;

5.b-tree和b+-tree在插入、刪除操作時,會自動**或合併,保持結構;

6.innodb二級索引儲存的是鍵值而不是指標;

7.輔助索引使用主鍵作為"指標" 而不是使用位址值作為指標的好處是,減少了當出現行移動或者資料頁**時輔助索引的維護工作,使用主鍵值當作指標會讓輔助索引占用更多的空間,換來的好處是innodb在移動行時無須更新輔助索引中的這個"指標"

2-3-4樹:

1.2-3-4樹會自頂向下**;

參考:

(五)平衡多路查詢樹(B Tree B Tree)

b tree就是我們常說的b樹,常常用於實現資料庫索引,因為它的查詢效率比較高 前面提到的2 3樹可以看作b樹的一種例項 二叉查詢樹的時間複雜度是o logn 查詢次數和比較次數較少,但是對於磁碟的io次數,最壞情況下磁碟的io次數由樹的高度決定,所以減少磁碟io次數就必須壓縮樹的高度,讓瘦高的樹盡...

二叉樹 B TREE B TREE特徵理解

二叉查詢樹查詢的時間複雜度是o logn 查詢速度最快和比較次數較少。但用於資料庫索引,當資料量過大,不可能將所有索引載入進記憶體,使用二叉樹會導致磁碟io過於頻繁,最壞的情況下磁碟io的次數由樹的高度來決定。b tree對二叉樹進行了橫向擴充套件,使樹結構更加矮胖,使得一次io能載入更多關鍵字,對...

對2 3 4樹的簡單想法

2 3樹插入時,我們首先從根節點開始,從上到下找到待插入的葉節點 然後再從葉節點開始從下到上,執行插入操作。而2 3 4樹插入時,同樣首先我們也從根節點開始,從上到下找待插入的葉節點但是與2 3樹插入不同的是,在這個尋找過程中遇到4 node,我們就把可以把4 node 成2個2 node,重新鏈結...