我坐着一段T树索引的代码。 T树是一个修改过的AVL树,因此每个节点可以容纳许多元素,而不是AVL树,每个节点只能容纳2个元素。平衡要求是相同的,即,树的所有叶节点之间只能存在1的高度差。换句话说,T树是“很平衡的”。 T树的每个节点最多只能有2个子节点:左边和右边,就像AVL树的节点一样。
与具有索引节点和叶节点的B树相反,只有叶节点保存元素,T树在其所有节点中携带元素(或指向元素的指针)。
如果每个节点可以容纳350个元素指针并且我用1 000 000个元素填充它,我如何正确计算T树的高度?
答案 0 :(得分:1)
在知道元素数量的情况下计算高度?它应该像
boolean greater = true;
int i = 0;
while(greater)
{
if(tree.lenght() <= 2^i)
greater = false;
i = i+1;
}
height = i;
但只有完全平衡。