原文:B樹——算法導論(25)

. 簡介 在之前我們學習了紅黑樹,今天再學習一種樹 B樹。它與紅黑樹有許多類似的地方,比如都是平衡搜索樹, 但它們在功能和結構上卻有較大的差別。 從功能上看,B樹是為磁盤或其他存儲設備設計的,能夠有效的降低磁盤的I O操作數,因此我們經常看到有許多數據庫系統使用B樹或B樹的變種作為儲存的數據結構 從結構上看,B樹的結點可以有很多孩子,從數個到數千個,這通常依賴於所使用的磁盤的單元特性。 如下圖, ...

2016-10-06 19:38 2 2858 推薦指數:

查看詳情

算法導論第十八章 B

還留了兩章:貪心算法和攤還分析,打算后面再來補充。之前的章節討論的支持動態數據集上的操作,如查找、插入 ...

Thu May 12 05:52:00 CST 2016 0 1580
算法導論——紅黑

  紅黑是一棵二叉搜索,每個結點上增加了一個屬性來存儲顏色是紅色還是黑色,紅黑可以確保沒有一條路徑會比其他路徑長出2倍,所以近似可以認為是平衡的。   每個結點包含5個屬性:color, key, left, right, p。如果一個結點沒有子結點或者父結點,則該結點的相應指針屬性 ...

Tue Aug 14 00:19:00 CST 2018 0 724
算法BB+詳解

B 前言     首先,為什么要總結BB+的知識呢?最近在學習數據庫索引調優相關知識,數據庫系統普遍采用B-/+Tree作為索引結構(例如mysql的InnoDB引擎使用的B+),理解不透徹B,則無法理解數據庫的索引機制;接下來將用最簡潔直白的內容來了解BB+的數據結構 ...

Mon Nov 23 07:49:00 CST 2020 0 460
紅黑——算法導論(15)

1. 什么是紅黑 (1) 簡介 上一篇我們介紹了基本動態集合操作時間復雜度均為O(h)的二叉搜索。但遺憾的是,只有當二叉搜索高度較低時,這些集合操作才會較快;即當的高度較高(甚至一種極端情況是變成了1條鏈)時,這些集合操作並不比在鏈表上執行 ...

Fri Oct 30 06:47:00 CST 2015 1 6941
算法導論之紅黑的學習

最近學習了二叉搜索中的紅黑,感覺收獲頗豐,在此寫一篇文章小結一下學到的知識,順便手寫一下Java代碼。 1.引言 先來講講什么是二叉搜索,二叉搜索有如下特點:他是以一顆二叉樹(最多有兩個子結點)來組織的,對於中的某個節點,其左子樹的所有元素均小於該節點,其右子樹的元素均大於 ...

Sun Jun 11 12:47:00 CST 2017 0 1188
算法導論-8.紅黑詳解

紅黑是一種相當復雜的數據結構,一種能夠保持平衡的二叉查找。如果條件極端,隨機生成的二叉樹可能就是一個單鏈表,深度為 $n$ ,而紅黑的高度,即使在最壞情況下也是 $\Theta(n)$ ,紅黑通過滿足以下5條性質來保證這一點: 節點是紅色或者黑色的。 根節點的黑色 ...

Tue Jan 15 03:29:00 CST 2013 8 4119
紅黑的刪除(算法導論

紅黑的刪除分兩個部分介紹,第一個部分介紹節點的刪除;第二部分介紹在將節點刪除后對紅黑的調整,使得其能符合紅黑的性質。 1、節點的刪除 假如要刪除的節點為z,這時,有三種情況: 1)節點z沒有孩子節點,這時直接將z節點刪除,然后判斷節點z是否為黑色 ...

Wed Nov 05 23:10:00 CST 2014 1 4017
算法導論-9.紅黑習題

這一篇解決《算法導論》中紅黑章節的部分習題,在上一篇自己親自實現紅黑后,解決這些題目就輕松多了。 練習13.1-6 在一棵黑高度為 $k$ 的紅黑中,內節點最多有多少個?最少有多少個? 黑高度為 $k$ 的二叉樹,全高度最小為 $k+1$,最大為 $2k+2$ 。內節點最多 ...

Thu Jan 17 04:16:00 CST 2013 3 3073
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM