Algorithme d’insertion dans un arbre B+ Trouvez la feuille où l’on doit insérer la nouvelle valeur en suivant la règle de <= à gauche ( ou >= à droite ). Insérer dans la feuille en ordre de tri. Si la feuille est pleine, alors il y a débordement “ Overflow ”, Il faut créer un nouveau nœud : Insérer les j = [ ( pleaf+ 1 )/2 ] premières entrées dans le nœud original et le autres entrées dans le nouveau nœud. La jième valeur (+1 pour la règle du >= à droite ) de clé est répliqué dans le parent et un nouveau pointeur au nouveau nœud est aussi ajouté au parent. Si il y a débordement dans le parent, Il faut créer un nouveau nœud : Les entrées dans le nœud interne jusqu’à Pj reste en place. Pj est le jième pointeur après insertion de la nouvelle valeur et pointeur, où j = [ ( p + 1 )/2 ]. La jième valeur (+1 pour la règle du >= à droite ) de clé est déplacé, et non pas répliqué, dans le parent. Le nouveau nœud va contenir les entrées à partir de P j+1 jusqu’à la fin des entrées. Les division peuvent se propager jusqu’à créer une nouvelle racine et par conséquent un nouveau niveau pour l’arbre B+. Algorithme d’effacement dans un arbre B+ Lorsqu’une entrée est effacée, elle est d’abord retirer de son nœud terminal ( sa feuille ). Si cette valeur est aussi dans un nœud interne, elle doit aussi y être retirée. La valeur à sa gauche ( à sa droite pour la règle du >= à droite ) dans le nœud terminal la remplace dans le nœud interne. L’effacement peut causer une insuffisance de valeur dans le nœud terminal. Dans ce cas, il faut faire une redistribution des valeurs avec les feuilles voisines afin que toutes les feuilles aient le nombre minimum de valeur requis. Si la redistribution est impossible, il faut fusionner des feuilles. Lorsque des feuilles sont fusionnées, les insuffisances de valeur peuvent se propager dans les nœuds internes puisque moins de pointeur sont requis. Il faut alors comprimer les nœuds internes en suivant les règles de base. Notez que la propagation peut entraîner l’élimination d’un niveau.