2009-10-30 4 views

Répondre

2

Vous pouvez créer un nœud btree en utilisant la classe suivante. Il a 7 clés et 8 pointeurs. u peut modifier en fonction de la définition de noeud btree et il y a effectuer des opérations sur ce

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

I implémenté BTree en quelques jours avec LinkedList (Supprimer O (1), insérer O (1)). Je vais vous montrer mon code. Voici ma structure 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 
    } 


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

class BNode { 
    Node[] nodes; 
} 

De cette façon, vous aurez des pointeurs vers chaque nœud du bnode pour pointer vers la droite et à gauche .... sous-arbre