簡體   English   中英

B+ 1 & 2 的樹順序

[英]B+ Tree order of 1 & 2

我對要在順序為 1 和順序為 2 的 B+ 樹中插入的最大和最小鍵數感到困惑。

在我看的視頻中,據說一個節點(根除外)中插入的最大鍵數至少為m ,最多為2m (假設m為順序)。

根據這兩條語句,在 B+ 樹中插入的最小和最大鍵數是多少,順序為 1,順序為 2? 我不確定上面的兩個陳述是否沖突,或者我誤解了一些東西。 任何想法?

在沒有參考視頻的情況下,看起來他們使用了術語order的非標准定義,這是造成混淆的原因。

樹的順序的標准定義是最大分支因子,即一個節點可能擁有的最大子節點數。 因此,在該定義中,它不是最小值,而是最大值,並且與的數量無關,而是與項的數量有關。

視頻的定義意味着最大鍵數始終為偶數,而實際上並沒有這樣的要求。 B+ 樹的最大分支因子很可能是偶數,從而使最大鍵數為奇數。

使用術語order的標准定義,我們專門針對 B+ 樹具有以下約束:

  • 它的內部節點最多有m個子節點。 這意味着它們最多有m - 1 個鍵。
  • 它的內部節點至少有m/2 (向上舍入)子節點,根除外:
  • 如果它的根不是葉子,它可能只有 2 個孩子。
  • 它的葉子包含實際的數據值。

下面是一個具有 4 階(標准定義)的示例 B+ 樹,它對應於一個 B+ 樹,其中鍵的數量必須在 1 到 3 之間——這不符合視頻的定義:

在此處輸入圖像描述

如您所見,一個節點在這里最多可以有 4 個孩子,最多可以有 3 個鍵。 在您的定義中, 2m表示最大鍵數,順序實際上是2m+1 因此,您要求使用 order 的標准定義來提供 3 和 5B+ 樹的示例。

下面是 3 階的示例——B+ 樹的最低階——這意味着每個節點中的鍵數必須是 1 或 2:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM