1. 程式人生 > >m階B+樹與m階B樹的主要差異在於:

m階B+樹與m階B樹的主要差異在於:

  1. 在B+樹中,具有n個關鍵字的結點只含有n棵子樹,即每個關鍵字對應一棵子樹;而在B樹中,具有n個關鍵字的結點含有(n+1)棵子樹。
  2. 在B+樹中,每個結點(非根結點)關鍵字個數n的範圍是[m/2向上取整,m](根結點:1<=n<=m),在B樹中,每個結點(非根結點)關鍵字個數n的範圍是[m/2向上取整-1,m-1](根結點:1<=n<=m-1)。
  3. 在B+樹中,葉結點包含資訊,所有非葉結點僅起到索引作用,非葉結點中的每個索引項只含有對應子樹的最大關鍵字和指向該子樹的指標,不含有該關鍵字對應記錄的儲存地址。
  4. 在B+樹中,葉結點包含了全部關鍵字,即在非葉結點中出現的關鍵字也會出現在葉結點中;而在B樹中,葉結點包含的關鍵字和其他結點包含的關鍵字是不重複的。

    通常在B+書中有兩個頭指標:一個指向根結點,另一個指向關鍵字最小的葉結點。因此,可以對B+樹進行兩種查詢運算:一種是從最小關鍵字開始的順序查詢,另一種是從根結點開始,進行多路查詢。