-1

BTreeを実装するにはどのデータ構造を使用する必要がありますか?なんで?

4

3 に答える 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 に答える