【发布时间】:2014-04-07 15:27:13
【问题描述】:
我目前正忙于在 JAVA 中实现 B-Tree。其中一种方法要求我以百分比形式返回完整树的完整度。该百分比应不超过 100,例如,如果返回 50,则表示树已满 50%。一棵空树是 0% 满的。
这是我正在使用的节点类
class btNode<T extends Comparable<? super T>>
{
boolean leaf = true;
int keyCount = 0;
int referenceCount= 0;
Comparable<T>[] keys = new Comparable[m-1];
btNode<T>[] references= new btNode[m];
btNode(int m){...}
...
}
总结:请帮我实现以下方法:
public int fullness()
{
???
}
我们将不胜感激任何建议、帮助和/或代码。
【问题讨论】:
-
您希望用 Java 还是 C++ 来回答,因为它们是两种不同的语言?
-
顺便说一句,
Comparable<T>[]是 C++ 的无效语法。 -
我建议为 B-Tree 设置两个单独的类,即基础结构和节点类。这使您不会重复诸如
keyCount和referenceCount之类的字段。 -
@ThomasMatthews 我正在用 JAVA 实现它。而且我知道这不是 c++ 代码,但我了解 c/c++ 并且不会介意这些语言的答案,这就是我添加 c++ 标记的原因。
标签: java tree b-tree multiway-tree