二叉樹:html
左右兩個子節點 能夠爲空數據庫
二叉查找樹:優化
左子樹小於根節點,又子樹大於根節點ui
平衡二叉樹:spa
任何節點的左右兩個子樹的高度相差最大爲1,(高度相差大於1會旋轉操做).net
B-Tree:(平衡多路查找樹)設計
B-Tree是爲磁盤等外存儲設備設計的一種平衡查找樹指針
系統從磁盤中讀取數據是以磁盤塊爲單位,一次會把統一磁盤的數據都讀出來htm
索引引入的目的是爲了快速查詢以及更新表中的數據,是有序表,能夠用二分查找提升效率blog
磁盤I/O操做是影響整個B-Tree查找效率的決定因素
若數據量很大則B-Tree的深度較大,增大查詢時的磁盤I/O次數,進而影響查詢效率(採用B+Tree的緣由)
B+Tree:
B+Tree是在B-Tree基礎上的一種優化,使其更適合實現外存儲索引結構
MySQL InnoDB引擎的索引底層實現採用的是B+tree
對於範圍查找來講,b+樹只需遍歷葉子節點鏈表便可,b樹卻須要重複地中序遍歷。
B+Tree相對於B-Tree有幾點不一樣: