【发布时间】:2013-10-10 07:31:17
【问题描述】:
如果我们知道存储在 B-Tree 中的键的数量,以及 B-Tree 的顺序(即非根节点的子指针的最大数量),是否有一个简单的对数方程确定树的高度是多少?
【问题讨论】:
如果我们知道存储在 B-Tree 中的键的数量,以及 B-Tree 的顺序(即非根节点的子指针的最大数量),是否有一个简单的对数方程确定树的高度是多少?
【问题讨论】:
查看wikipedia:
设 m 为每个节点的子节点数,高度为 h 且其所有节点完全填充的 B 树有 n=mh-1 个条目。
B树的最佳case高度为:
ceil( log_m(n+1) )
令 d 为内部(非根)节点可以拥有的最小子节点数。对于普通的 B-tree,d=⌈m/2⌉。
B树的最坏情况高度为:
floor( log_d( (n+1)/2 ) + 1 )
【讨论】: