Chaque page d'un B-arbre doit contenir entre n et 2n noeuds, n étant une constante arbitraire.
Cela signifie qu'une page doit toujours être au moins à moitié remplie. Seule la première
(racine) peut faire exception à cette règle et peut même, éventuellement, ne contenir qu'un
seul noeud.
En respectant cette contrainte, nous allons formuler des algorithmes simples pour la
recherche, l'insertion et la suppression d'éléments telles que la structure de données ainsi
définie (B-arbre) possède les caractéristiques suivantes (où n est l'ordre du B-arbre) :
1. chaque page contient, au plus, 2n éléments
2. chaque page, sauf la racine, contient au moins n éléments
3. chaque page est soit une feuille (pas de descendants), soit elle possède m+1
descendants (si elle contient m éléments)
4. toutes les pages feuilles sont au même niveau.
La figure suivante illustre un B-arbre d'ordre 2 avec 3 niveaux :
Fig. 14.9. Exemple de B-arbre d'ordre 2.
Chaque page contient 2, 3 ou 4 éléments, sauf la page racine qui, dans cet exemple, n'en
contient qu'un seul. Toutes les pages feuilles sont au niveau 3.
14.3.2. Insertion
D'une manière générale, l'insertion d'un nouvel élément dans un B-arbre est relativement
simple. On effectue les mêmes étapes que pour la recherche d'un élément jusqu'à ce que l'on
arrive à une page feuille où l'élément à insérer aurait pu se trouver s'il était présent dans la
structure. On essayera alors d'insérer l'élément dans la page (feuille) en question.
Si un élément doit être inséré dans une feuille contenant moins de 2n éléments, l'insertion
s'effectuera à l'intérieur de la page, sans autre difficulté. Si la page est pleine et qu'une feuille
adjacente possède une place libre, on effectuera un transfert entre les deux feuilles, en tenant
compte de l'élément charnière qui se trouve dans la page parente. Pour prendre un exemple,
supposons que nous ayons le B-ar bre de la figure 14.10 :