一、二叉樹
解決問題:查詢排序
二、平衡二叉樹(AVL)
解決問題:深度太深,會導緻查詢效率很低,因為查詢複雜度為O(n),n為深度。是以要降低深度,保持平衡
三、紅黑樹
解決問題:通過紅黑規則,對平衡進行一種妥協,可以認為是一個弱平衡,降低旋轉次數,提高效率。
好處:插入最多兩次旋轉,删除最多三次旋轉,
場景:搜尋,插入,删除操作較多的情況下,我們就用紅黑樹。
四、B-樹
一個節點不再是一個,可以是M個節點。主要是适用在磁盤檔案存儲。
外部查找是指在輔助裝置空間進行資料查找。如在計算機中記憶體的大小是有限的, 如果要查找的資料量太大,無法全部加載到記憶體中,必須借助輔助儲存設備的空間再進行查找。
五、B+樹
解決問題:資料庫的索引,主要是對B-樹進一步優化;
1、節點不存儲資料,葉子節點才存儲行資料
2、葉子節點有所有索引key值
3、葉子節點之間有指針連接配接
優點:
1、不存儲行資料,是以沒一頁拉取更多的索引,減少IO
2、葉子節點有行資料,并且葉子節點可以順序通路。查詢快
六、B*樹
解決的問題:
減少節點,如果兄弟節點沒有滿,則往兄弟節點靠,是B+樹的變種