Probleme – L'arbre bicolore : d'où vient la garantie, et jusqu'où elle est serrée
Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 11 — Arbres de recherche, tas et files de priorité
Énoncé
Le chapitre démontre « en idée ». On complète.
- Démontrer soigneusement que si est le nombre de nœuds noirs sur un chemin de la racine à une feuille vide, alors .
- Démontrer que , puis conclure.
- Construire, pour chaque , un arbre bicolore de hauteur . Combien a-t-il de nœuds ? La borne du théorème est-elle serrée ?
- Quelle conséquence pratique en tirer ?
Corrigé
1. La minoration du nombre de nœuds. Notons la hauteur noire d'un nœud : le nombre de nœuds noirs sur un chemin de (exclu) à une feuille vide de son sous-arbre. La contrainte 4 assure que ce nombre ne dépend pas du chemin choisi, donc est bien définie.
Affirmation : tout sous-arbre enraciné en contient au moins nœuds internes. Par induction sur la hauteur de .
- Si est une feuille vide, et le sous-arbre a nœud.
- Sinon a deux fils. Chaque fils vérifie : il vaut si est rouge, s'il est noir. Par hypothèse d'induction, chaque sous-arbre fils contient au moins nœuds, d'où
Appliqué à la racine, dont la hauteur noire est : , soit .
2. La majoration de la hauteur. Sur un chemin de la racine à une feuille vide, la contrainte 3 interdit deux rouges consécutifs, et la contrainte 1 impose une racine noire. Un tel chemin de nœuds contient donc au plus rouges, donc au moins noirs : , c'est-à-dire . Comme est la longueur du plus long chemin,
3. La famille extrémale. On construit deux familles d'arbres de hauteur noire :
vérifie les quatre contraintes : sa racine est noire ; ses nœuds rouges n'ont que des fils noirs par construction ; et tout chemin traverse nœuds noirs, puisque le rouge n'en compte pas.
Un calcul immédiat donne, avec la hauteur en arêtes :
Mesuré — les quatre contraintes vérifiées par programme sur chaque arbre :
Le rapport tend vers : la borne est serrée à une constante additive près — ici exactement, puisque à la limite. Aucune amélioration du facteur n'est possible.
Pour comparaison, l'arbre parfait atteint : il est deux fois plus court que la borne, ce qui montre bien que le facteur mesure un déséquilibre autorisé, non un déséquilibre obligatoire.
4. La conséquence pratique. Un arbre bicolore peut être deux fois plus haut qu'un arbre parfait de même taille, et cette limite est atteinte. Un million de clés : contre pour l'arbre parfait. On paye donc, dans le pire des cas, un facteur sur chaque recherche — c'est le prix de l'équilibrage approché, et il est bon marché : maintenir un arbre parfaitement équilibré coûterait par insertion. Le bon compromis n'est pas l'optimum, c'est celui dont le coût de maintien reste du même ordre que le gain.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.