多路查詢樹 B樹

2021-08-25 19:41:15 字數 833 閱讀 9083

多路查詢樹每乙個結點的孩子數可以多於兩個,且每乙個節點處可以儲存多個元素。

2-3樹的每乙個結點都具有兩個孩子(2結點)或三個孩子(3結點)。

乙個2結點包含乙個元素和兩個孩子(或沒有孩子),且與二叉排序樹類似,左子樹包含的元素小於該元素,右子樹包含的元素大於該元素與二叉排序樹不同的是,這個2結點要麼沒有孩子,要麼就有兩個,不能只有乙個孩子。

乙個三結點包含一小一大兩個元素和三個孩子(或沒有孩子),如果某個三結點有孩子的話,左子樹包含小於較小元素的數,右子樹包含大於較大元素的數,中間子樹包含介於兩元素之間的元素。

2-3樹所有葉子都在同一層上。

2-3樹的插入

2-3樹插入可分為三種情況:

3結點插入元素有以下幾種情況:

2-3樹的刪除

刪除有兩種情況:

二結點刪除的四種情形:

2-3-4樹是2-3樹的概念擴充套件,包括了4結點的使用。乙個4結點包含小中大三個元素和四個孩子(或沒有孩子)。

b樹是一種平衡的多路查詢樹,2-3樹和2-3-4樹都是b樹的特例。結點最大的孩子數目稱為b樹的階(order),2-3樹是三階b樹,2-3-4樹是4階b樹。

乙個m階b樹具有如下屬性:

b樹有乙個缺點,在遍歷時必須在硬碟的各個頁面進行多次訪問,需要多次訪問各個結點,而每次經過結點時,都要對其遍歷,b+樹可以解決這個問題,讓遍歷時每個元素只被訪問一次。

在b+樹中,出現在分支結點中的元素會被當做它們在該分支結點位置的中序後繼者(葉子結點)中再次列出,另外,每乙個葉子結點都會儲存乙個指向後一葉子結點的指標。

一顆m階b+樹和m階的b樹的差異在於:

這樣做的好處是:

多路查詢樹 B樹

多路查詢樹 multi way search tree 其每乙個結點的孩子數可以多於兩個,且每乙個結點處可以儲存多個元素。在這裡,我們講解它的4種特殊形式 2 3樹 2 3 4樹 b樹和b 樹。2 3樹是這樣的一顆多路查詢樹 其中的每乙個結點都具有兩個孩子 我們稱它為2結點 或三個孩子 我們稱它為3...

多路查詢樹 B樹

多路查詢樹,其每乙個結點的孩子數可以多於兩個,且每乙個結點處可以儲存多個元素。每乙個結點都具有兩個孩子 2結點 或三個孩子 3結點 乙個2結點包含乙個元素和兩個孩子 或沒有孩子 左子樹包含的元素小於該元素,右子樹包含的元素大於該元素。乙個3結點包含一小一大兩個元素和三個孩子 或沒有孩子 左子樹包含小...

多路查詢樹 2 3樹 B樹

2 3樹是最簡單的b 樹 或 樹 結構,其每個非葉節點都有兩個或三個子女,而且所有葉都在統一層上。2 3樹不是二叉樹,其節點可擁有3個孩子。不過,2 3樹與滿二叉樹相似。高為h的2 3樹包含的節點數大於等於高度為h的滿二叉樹的節點數,即至少有2 h 1個節點。其他2 3樹 詳細 乙個節點要麼沒有子節...