Les Arbres Bicolores (Rouge et Noir)
On a vu que les arbres AVL et les arbres B sont des structures de données à critère
d’équilibre. L’inconvénient que ses structures possèdent c’est qu’ils nécessitent plusieurs
opérations de regroupement ou d’éclatement après une opération d’insertion ou de
suppression. Aussi, la hauteur n’est pas vraiment maintenue au niveau des feuilles.
La structure de données d’arbre rouge et noir nécessite des opérations minimales après
une mise à jour pour conserver sa propriété d’arbre équilibré.
Définition : Un arbre rouge et noir est un arbre binaire de recherche où chaque nœud est de
couleur rouge ou noire de telle sorte que :
1. Les feuilles sont nulles et noires,
2. Les fils d'un nœud rouge sont noirs, (ou bien le père d’un nœud rouge est toujours
noir)
3. Toutes les feuilles ont la même hauteur noire : Le nombre des nœuds noirs (internes)
dans un chemin de la racine à n’importe quelle feuille est identique.
Exemple : Un arbre noir avec hauteur noire égale à 3.
Propriétés :
- Le nombre des feuilles égale au nombre des nœuds internes plus 1.
- Le nombre des nœuds noirs internes est majoritaire (supérieur au noeuds rouges).
Autrement dit, l’hauteur noire > l’hauteur/2.
- On ne peut pas avoir deux nœuds rouges successifs le long d’un chemin de la racine
vers une feuille.