B樹

多路查找樹(mutil-way search tree)其每一個節點的孩子數能夠多於兩個,且每一個結點處可存儲多個元素。 算法

4中特殊形式:2-3樹、2-3-4樹、B樹、B+樹 數據庫

2-3樹: 數據結構

是這樣的一棵多路查找樹:其中的每一個節點都具備兩個孩子或三個孩子。一個2節點包含一個元素和兩個孩子(或沒有孩子);一個3節點博阿含一小一大兩個元素和3個孩子(或沒有孩子)。 優化

B樹:是一種平衡的多路查找樹,2-3樹和2-3-4樹都是B樹的特例。節點最大的孩子數成爲B樹的階。 spa

在計算機科學中,B樹是存儲排序數據並容許以O(logn)的運行時間進行查找,順序讀取,插入和刪除的數據結構。B樹,歸納來講是一個節點能夠擁有多於2個子節點的二叉查找樹。與自平衡二叉查樹不一樣,B—樹爲系統最優化大塊數據的讀和寫操做。B-Tree算法減小定位記錄時所經歷的中間過程,從而加速存取速度。廣泛應用於數據庫和文件系統。 排序

在節點存取時間遠超過裏層節點存取時間的條件下,B樹在可行的實現中不少優點,由於如此存取節點的開銷被分攤到裏層節點的屢次操做上。這一般出如今當節點存儲在二級存儲器如硬盤存儲器上。經過最大化內部裏層節點的子節點的數量,樹的高度減少,存取節點的開銷被縮減。另外,從新平衡樹的動做也更少出現。子節點的最大數量取決於,每一個子節點必需存儲的信息量,和完整磁盤塊的大小或者二次存儲器中相似的容量。雖然2-3 樹更易於解釋,實際運用中,B樹使用二級存儲器,須要要大量數目的子節點來提高效率。 內存

若是內存和外村交換數據的次數頻繁,會形成時間效率上的瓶頸,那麼B樹結構怎麼減小次數? 效率

外存,如硬盤,將全部信息分割成相等大小的頁面,每次硬盤讀寫的都是一個或多個完整的頁面,對於硬盤來講,一頁長度多是211或214個字節。 計算機科學

B樹的階數與硬盤存儲的頁面大小相匹配。好比一棵B樹的階數是1001即(一個節點包含1000個關鍵字),高度爲2則它能夠存儲10億個關鍵字,咱們只要讓根節點持久地保留在內存中,那麼這顆樹上尋找某一個關鍵字最多須要兩次硬盤讀寫。 遍歷

B+樹

相比B樹,解決全部元素遍歷等基本問題。

相關文章
相關標籤/搜索