BTreeを実装するにはどのデータ構造を使用する必要がありますか?なんで?
1003 次
3 に答える
2
次のクラスを使用してbtreeノードを作成できます。7つのキーと8つのポインターがあります。uはbtreeノードの定義に従ってそれを変更し、それに対して操作を実行できます
class BTNode
{
BTNode pointers[];
String keys[];
int numKeys;
boolean leaf;
public BTNode() // constructor to initialize values
{
leaf=true;
numKeys=0;
keys=new String[7];
pointers=new BTNode[8];
}
}
于 2010-04-01T05:04:44.640 に答える
1
class Node {
int data;
Node left;
Node right;
}
class BNode {
Node[] nodes;
}
このようにして、BNode のすべてのノードへのポインタが右と左のサブツリーを指すようになります....
于 2011-02-28T14:16:25.143 に答える
0
数日前に LinkedList を使用して BTree を実装しました (O(1) の削除、O(1) の挿入)。私のコードをお見せします。ここに私の BNode 構造があります:
public class BTree {
private int order;
private BNode root;
public BTree(int order) {
this.order = order;
}
public void insert(int value){}
public boolean delete(int value){}
public boolean contains(int value){}
public void print(){}
}
class BNode{
private LinkedList<Integer> values;
private LinkedList<BNode> children;
public BNode(){
init(values);
init(children); // every bnode with order k has k+1 children
}
}
于 2010-11-22T11:13:11.550 に答える