了解BTree容量

时间:2013-03-29 08:59:49

标签: java

我对BTrees的理解是:

  
      
  • 如果根BTree大小为32,则级别1具有1024个密钥容量
  •   
  • 2级可以对1048576键进行排序
  •   
  • 级别1的实际容量为512,级别2的实际容量为524288,因为叶子已填半。
  •   

Am'I好或明显出于担忧?

1 个答案:

答案 0 :(得分:1)

计算Btree容量的公式:假设最大子代数为D,则任何节点的最大键数为D-1。级别1(根级别)始终具有一个带有D-1键的节点。级别2最多可以具有D个节点,这些节点中的每个节点最多可以具有D-1个密钥,因此级别2具有D *(D-1)个密钥。级别3最多可以具有D ^ 2个子节点(因为级别2中的任何节点都可以具有D个子节点,并且级别2中最多有D个节点)。级别3中的每个节点最多可以具有D-1个密钥,因此级别3中的密钥数目为D ^ 2 *(D-1),依此类推...对于任何级别i,最大数目为键是D ^(i-1)*(D-1)。因此,树的容量是通过对每个级别的容量求和而获得的。