資料結構B樹,資料結構B樹

時間 2021-06-13 06:40:23

1樓:匿名使用者

比如說一顆 b 樹的階為 1001(即 1 個節點包含 1000 個關鍵字),高度為 2,它可以儲存超過 10 億個關鍵字,我們只要讓根節點持久地保留在記憶體中,那麼在這棵樹上,尋找某一個關鍵字至多需要兩次硬碟的讀取即可。

2樓:投降認叔

m為樹的階數,b-樹或為空樹,否則滿足下列條件:

定義任意非葉子結點最多隻有m個兒子;且m>2;

2.根結點的兒子數為[2, m];

3.除根結點以外的非葉子結點的兒子數為[m/2, m];

4.每個結點存放至少m/2(取上整)-1和至多m-1個關鍵字;(至少2個關鍵字,根節點至少一個關鍵字);

5.非葉子結點的關鍵字個數=指向兒子的指標個數-1;

6.非葉子結點的關鍵字:k[1], k[2], …, k[m-1],m

7.非葉子結點的指標:p[1], p[2], …, p[m];其中p[1]指向關鍵字小於k[1]的子樹,p[m]指向關鍵字大於k[m-1]的子樹,其它p[i]指向關鍵字屬於(k[i-1], k[i])的子樹;

8.所有葉子結點位於同一層;

從這些條件可以得出對於第一個問題

在一株高度為 2 的 5 階 b 樹中,所含關鍵字的個數最少是(5)

性質2,可知在一株高度為 2 的 5 階 b 樹中,最少有三個結點,由性質4,根最少一個關鍵字,第二層的兩個結點,每個結點最少2個關鍵字,總共有最少有5個關鍵字。

對於第二個問題

在一棵具有15個關鍵字的4階b樹中,含關鍵字的結點個數最多是(15)

由性質4,每個結點存放至少1關鍵字,這樣樹中包含的結點數是最多的,這樣有15個關鍵字的4階b樹中,含有關鍵字的結點個數最多是(15)也就好理解了

資料結構b樹問題

3樓:匿名使用者

按照b-樹的定義,m階b- 樹中結點的關鍵字個數為上取整(m / 2)- 1 ~ m - 1,根結點除外,最少可以只有一個關鍵字

因為b樹中關鍵字代表查詢成功,子樹個數代表查詢失敗,因此相應地,每個結點的子樹個數為上取整(m / 2) ~ m,根最少2個子樹

因此,6階b- 樹正常每個結點關鍵字個數為2 ~ 5 之間,根結點最少只有1個關鍵字

高度為5的6階b-樹最少結點個數:

根只有1個結點

第 2 層最少只有2 個結點

第 3 層最少2 * 3 = 6 個結點

第 4 層最少6 * 3 = 18 個結點

如果嚴格按照b- 樹的定義,第 5 層為最下層,是葉子結點(外結點),代表查詢失敗,沒有關鍵字

如果不是這樣嚴格定義,第5層則應該還有3 * 18 = 54 個結點

答案是1 + 2 + 6 + 18 = 27

資料結構中什麼是b樹?

4樓:匿名使用者

b 樹是為了磁碟或其它儲存裝置而設計的一種多叉(下面你會看到,相對於二叉,b樹每個內結點有多個分支,即多叉)平衡查詢樹。

b 樹又叫平衡多路查詢樹。一棵m階的b 樹 (m叉樹)的特性如下:樹中每個結點最多含有m個孩子(m>=2);除根結點和葉子結點外,其它每個結點至少有[ceil(m / 2)]個孩子(其中ceil(x)是一個取上限的函式);若根結點不是葉子結點,則至少有2個孩子(特殊情況:

沒有孩子的根結點,即根結點為葉子結點,整棵樹只有一個根節點);所有葉子結點都出現在同一層,葉子結點不包含任何關鍵字資訊(可以看做是外部接點或查詢失敗的接點,實際上這些結點不存在,指向這些結點的指標都為null);每個非終端結點中包含有n個關鍵字資訊: (n,p0,k1,p1,k2,p2,......,kn,pn)。

其中:a) ki (i=1...n)為關鍵字,且關鍵字按順序升序排序k(i-1)< ki。

b) pi為指向子樹根的接點,且指標p(i-1)指向子樹種所有結點的關鍵字均小於ki,但都大於k(i-1)。

c) 關鍵字的個數n必須滿足: [ceil(m / 2)-1]<= n <= m-1。

資料結構b樹的兩個考研真題

5樓:

m為樹的階數,b-樹或為空樹,否則滿足下列條件:

定義任意非葉子結點最多隻有m個兒子;且m>2;

2.根結點的兒子數為[2, m];

3.除根結點以外的非葉子結點的兒子數為[m/2, m];

4.每個結點存放至少m/2(取上整)-1和至多m-1個關鍵字;(至少2個關鍵字,根節點至少一個關鍵字);

5.非葉子結點的關鍵字個數=指向兒子的指標個數-1;

6.非葉子結點的關鍵字:k[1], k[2], …, k[m-1],m

7.非葉子結點的指標:p[1], p[2], …, p[m];其中p[1]指向關鍵字小於k[1]的子樹,p[m]指向關鍵字大於k[m-1]的子樹,其它p[i]指向關鍵字屬於(k[i-1], k[i])的子樹;

8.所有葉子結點位於同一層;

從這些條件可以得出對於第一個問題

在一株高度為 2 的 5 階 b 樹中,所含關鍵字的個數最少是(5)

性質2,可知在一株高度為 2 的 5 階 b 樹中,最少有三個結點,由性質4,根最少一個關鍵字,第二層的兩個結點,每個結點最少2個關鍵字,總共有最少有5個關鍵字。

對於第二個問題

在一棵具有15個關鍵字的4階b樹中,含關鍵字的結點個數最多是(15)

由性質4,每個結點存放至少1關鍵字,這樣樹中包含的結點數是最多的,這樣有15個關鍵字的4階b樹中,含有關鍵字的結點個數最多是(15)也就好理解了

資料結構上的b樹葉子結點 50

6樓:最愛蕊蕊小可愛

在b樹種,當在葉子結點處於第l+1層的b樹中插入關鍵字時,被插入的關鍵字總是進入第l層的結點。 b樹中所有葉子結點都在同一層,並且不帶任何資訊。所以你所說的最下層的非葉子節點是不是代表倒數第二層的能插入關鍵字的那一層,你是想要進行刪除操作嗎?

7樓:匿名使用者

在第四層上是沒錯的,王道這本書上是在定義b樹高度的時候不把葉子結點那一層算上去,但是他這裡是按層來算的,所以葉子結點所在的層也包括在內的。這樣回答應該能解決你的問題吧。

8樓:破落窗臺

我覺得他想表達的意思是,構建一個含關鍵字的結點的b樹,它的葉結點全在第四層

9樓:別裝

p1的定義是錯的,最下層葉結點不算深度--來自清華大學嚴蔚敏老師的資料結構一書

資料結構,b樹,請問這句話怎麼理解

10樓:匿名使用者

就是比如p1有m個孩子結點,p2有n個孩子結點,p1,p2在同一個結點中,並且在整個b樹中這個結點的孩子結點最多,那麼就是m+n叉樹。

資料結構考試題,資料結構試卷

void inorder bitree root else 這就是中序遍歷的演算法 include include define maxsize 64 typedef char datatype typedef struct node bitree bitree creatree r q r s i...

資料結構問題,資料結構(java)

資料結構是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。一 資料的邏輯結構 指反映資料元素之間的邏輯關係的資料結構,其中的邏輯關係是指資料元素之間的前後件關係,而與他們在計算機中的儲存位置無關。邏...

在資料結構中資料 資料元素 資料物件 資料結構 儲存結構 數

資料 是能輸入到計算機中並能被計算機程式處理的符號的總稱。資料元素 是資料的基本單位,它在計算機處理和程式設計中通常作為一個整體進行考慮和處理。一個資料元素可由若干資料項組成。資料物件 是具有相同特徵的資料元素的集合,是資料的一個子集。資料結構 是資料元素的組織形式,或資料元素相互之間存在一種或多種...