良好的ADT实施BTREE

时间:2009-10-30 01:23:21

标签: b-tree abstract-data-type

我应该使用什么数据结构来实现BTree?为什么呢?

3 个答案:

答案 0 :(得分:2)

您可以使用以下类创建一个btree节点..它有7个键和8个指针。你可以根据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];
   }
}

答案 1 :(得分:1)

class Node {
   int data;
   Node left;
   Node right;
}

class BNode {
   Node[] nodes;
}

这样你就可以指向BNode的每个节点指向左右子树....

答案 2 :(得分: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 
    }


}
相关问题