Hi,
Je n'arrive pas a comprendre l'algorithme d'insertion en x-tree
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
int XDirectoryNode::insert(DataObject obj, X_Node **new_node) {
  SET_OF_MBR *s1 *s2;
  X_Node *follow, *new_son;
  int return_value;
 
  // choose a son node to insert obj into
  follow = choose_subtree(obj);
 
  // insert obj into subtree
  return_value = follow->insert(obj,new_son);
 
  // update MBR of o son node
  update_mbr(follow->calc_mbr());
  if (return_value == SPLIT) {
 
    // insert mbr of new son node into current node
    add_mbr(new_son->calc_mbr());
    if (num_of_mbrs()>CAPACITY){ // overflow occurs
 
      if (split(mbrs,s1,s2)==TRUE) {
        // topological or overlap-minimal split was successfull
        set_mbrs(s1);
        *new_node=new X_DirectoryNode(s2);
        return SPLIT;
      } else { // there is no good split
        *newnode = new X_SuperNode();
        (*newnode)->set_mbrs(mbrs);
        return SUPERNODE;
      }
    }
 
   // node 'follow' becomes a supernode 
  } else if (return_value == SUPERNODE) {
    remove_son(follow);
    insert_son (new_son);
  }
  return NO_SPLIT;
}
que signifie cette fleche followinsert(obj,new_son);
est ce que c'est l'affectation .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
// insert mbr of new son node into current node
add_mbr(new_son→calc_mbr());
quelle est le current node , et son node

Qui a une idée!!