天天看點

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

一、二叉樹

解決問題:查詢排序

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

二、平衡二叉樹(AVL)

解決問題:深度太深,會導緻查詢效率很低,因為查詢複雜度為O(n),n為深度。是以要降低深度,保持平衡

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

三、紅黑樹

解決問題:通過紅黑規則,對平衡進行一種妥協,可以認為是一個弱平衡,降低旋轉次數,提高效率。

好處:插入最多兩次旋轉,删除最多三次旋轉,

場景:搜尋,插入,删除操作較多的情況下,我們就用紅黑樹。

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

四、B-樹

一個節點不再是一個,可以是M個節點。主要是适用在磁盤檔案存儲。

外部查找是指在輔助裝置空間進行資料查找。如在計算機中記憶體的大小是有限的, 如果要查找的資料量太大,無法全部加載到記憶體中,必須借助輔助儲存設備的空間再進行查找。

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

五、B+樹

解決問題:資料庫的索引,主要是對B-樹進一步優化;

1、節點不存儲資料,葉子節點才存儲行資料

2、葉子節點有所有索引key值

3、葉子節點之間有指針連接配接

優點:

1、不存儲行資料,是以沒一頁拉取更多的索引,減少IO

2、葉子節點有行資料,并且葉子節點可以順序通路。查詢快

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

六、B*樹

解決的問題:

減少節點,如果兄弟節點沒有滿,則往兄弟節點靠,是B+樹的變種

二叉樹-平衡二叉樹-紅黑樹-B-樹-B+樹-B*樹

繼續閱讀