2009-10-30 59 views
-1

我应该使用什么数据结构来实现BTree?为什么?好的ADT来实现BTREE

+2

B树*为*数据结构体。所以这是一个奇怪的问题。你可以说得更详细点吗? – z5h 2009-10-30 01:30:28

回答

2

您可以使用以下类创建一个btree节点..它有7个键和8个指针。 ü可以根据B树节点的定义改变它,就可以进行操作

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]; 
    } 
} 
0

我几天来实现B树前用链表(删除O(1),插入O(1))。我会告诉你我的代码。这里是我的B节点结构:

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 
    } 


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

class BNode { 
    Node[] nodes; 
} 

这样,您将有指针指向B节点的每个节点指向左,右子树....