algorithmique (école d'ingénieur) · Chapitre 9 · Exercice de TD
Arbre de hauteur minimum
Arbres binaires de recherche de coût minimum · niveau 1 (application)
Énoncé
- Écrire
AB abrhmin(int i, int j)qui retourne un arbre binaire de recherche de hauteur minimum construit sur l'intervalle (environ six lignes). - Dessiner
abrhmin(0, 10)et donner sa hauteur. - Montrer qu'un arbre binaire de hauteur contient au plus valeurs. En déduire qu'un abr de valeurs a une hauteur au moins égale à .
Corrigé
- La valeur médiane à la racine, puis récursivement les deux moitiés :
static AB abrhmin(int i, int j) { // abr de hauteur minimum sur [i:j]
if (j - i <= 0) return null; // intervalle vide : arbre vide
int k = (i + j) / 2; // valeur médiane
return new AB(k, abrhmin(i, k), abrhmin(k + 1, j));
}
- On obtient un arbre de hauteur :
(5 (2 (1 (0 () ()) ()) (4 (3 () ()) ())) (8 (7 (6 () ()) ()) (9 () ())))
- Le niveau d'un arbre binaire contient au plus valeurs, donc un arbre de hauteur en contient au plus . Si alors , et est entier. Pour : :
abrhminatteint bien le minimum.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.